前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Now.sh: 最好的 Serverless Deployment Dashboard

Now.sh: 最好的 Serverless Deployment Dashboard

作者头像
szhshp
发布2022-09-21 10:15:31
3870
发布2022-09-21 10:15:31
举报
文章被收录于专栏:szhshp 的第四边境中转站

Vercel Jekyll 部署 Troubleshooting

Github 部署 Jekyll 到 Vercel 出现错误

代码语言:javascript
复制
sh: sudo: command not found
Error: Command "sudo gem install bundler jekyll && jekyll build" exited with 127

修改一下 Build Command 即可:

代码语言:javascript
复制
gem install bundler jekyll && jekyll build

ZEIT

ZEIT 是一个部署平台, 可以部署很多东西, 主要目的是部署一些 Serverless 的项目

一天 1000 次 invokes 用于小项目完全足够

部署

安装 Now

代码语言:javascript
复制
cnpm install now --save-dev

客户端部署

部署整个文件夹, 然后就会 自动执行 npm start

CLI 部署

首先

代码语言:javascript
复制
now login

登陆,然后在项目根目录执行:

代码语言:javascript
复制
now

就可以开始部署了

本地调试

代码语言:javascript
复制
now dev

如果遇到 yarn 无法找到的错误就可以

代码语言:javascript
复制
npm i -g yarn

执行过程中会在本地安装模块到 node_modules

部署例子

node 部署

注意 node server 和纯 node 的部署不一样

代码语言:javascript
复制
{
  "version": 2,
  "builds": [{ "src": "src/index.js", "use": "@now/node" }],
  "routes": [{ "src": "/.*", "dest": "src/index.js" }]
}

node-server 部署

这个是简单 node server 的部署

一定要配置 package.json 里面 scriptsstart, 这个是作为部署后的入口

根目录添加一个文件 now.json:

代码语言:javascript
复制
{
  "version": 2,
  "builds": [
    { "src": "index.js", "use": "@now/node-server" }
  ]
}
  • src: 对应的入口文件
  • use: 对应部署模式, 这里的模式就是简单 node server

Appllo GraphQL 部署

代码语言:javascript
复制
{
  "version": 2,
  "builds": [{ "src": "index.js", "use": "@now/node" }], // 如果没有这一行就成了文件部署
  "routes": [{ "src": "/.*", "dest": "index.js" }]
  // 如果没有这一行则无法访问到 graphQL
  // 将所有的路由定位到 index.js
  // 如果开启了多个端口那么就应该重定位一下
}

正常情况我们是 3000 建立 server 然后 4000 端口建立 graphQL

原本是在 http://localhost:4000/graphql 访问 graphQL,进行 routes 设置之后就可以在同一个端口或者 alias 访问到了

Troubleshooting

Routes 的使用

很简单很简单, 看看就懂了, 如果 deployment 之后访问路由出现 FNF 的错误就可能是这部分的问题

代码语言:javascript
复制
……
"routes": [{ "src": "/.*", "dest": "src/index.js" }]
// 将所有根目录的 url 请求 route 到 src/index.js
……
"routes": [{ "src": "/product/(?<id>[^/]+)", "dest": "/product?id=$id" }]
……
// 将所有 url 为 /product/123 结尾的 route 到 /product?id=123

502: BAD_GATEWAY

Code: NO_STATUS_CODE_FROM_FUNCTION

这个一般是因为后台没有返回任何数据。很有可能你是进了一个返回 error 的 route 然后 error 被 throw 然后没有返回。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vercel Jekyll 部署 Troubleshooting
  • ZEIT
  • 部署
    • 安装 Now
      • 客户端部署
        • CLI 部署
          • 本地调试
          • 部署例子
            • node 部署
              • node-server 部署
                • Appllo GraphQL 部署
                • Troubleshooting
                  • Routes 的使用
                    • 502: BAD_GATEWAY
                    相关产品与服务
                    网站建设
                    网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档