惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
Engineering at Meta
Engineering at Meta
量子位
A
About on SuperTechFans
阮一峰的网络日志
阮一峰的网络日志
Recent Announcements
Recent Announcements
博客园 - 司徒正美
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
腾讯CDC
Jina AI
Jina AI
C
Check Point Blog
H
Help Net Security
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
爱范儿
爱范儿
I
InfoQ

szhshp 的第三边境研究所

假设, AI 把我代替的那一刻真的到来 | szhshp 的第三边境研究所 小傻瓜都能懂的 AstrBot QQ 机器人集成 MCP 功能实战指南 | szhshp 的第三边境研究所 《智人之上: 从石器时代到 AI 时代的信息网络简史》阅读笔记 | szhshp 的第三边境研究所 iPadOS 26 无法设置空间场景图片壁纸的解决方法 | szhshp 的第三边境研究所 《一路云海》(终) | szhshp 的第三边境研究所 《一路云海》(四): 如何不按套路旅行 | szhshp 的第三边境研究所 《一路云海》(三): In Ya Mellow Tone | szhshp 的第三边境研究所 《一路云海》(二): 关西世博参观纪实 | szhshp 的第三边境研究所 《一路云海》(一): 新的征程 | szhshp 的第三边境研究所 2025 大阪世博会 [ 3 天前-先到先得 ] 阶段 场馆预约必中独家攻略 | szhshp 的第三边境研究所 Hackathon 随想 | szhshp 的第三边境研究所 一杯双皮奶 | szhshp 的第三边境研究所 Armbian + CasaOS + NAS 配置指南 | szhshp 的第三边境研究所 Docker 构建镜像报错: error getting credentials - err: exit status 1, out: `` | szhshp 的第三边境研究所 Disqus RIP! 论过高的维护成本如何治疗固执的坏习惯 | szhshp 的第三边境研究所 炸弹猫桌游变体规则 | szhshp 的第三边境研究所 《小岛经济学》阅读笔记 | szhshp 的第三边境研究所 《金钱心理学》阅读笔记 | szhshp 的第三边境研究所 为知笔记 RIP: 迁移剩余的笔记 | szhshp 的第三边境研究所 2025 博客第十年展望 - 再见我的过去 | szhshp 的第三边境研究所 我在独立游戏里面致敬的作品 | szhshp 的第三边境研究所 《How to make thing faster》阅读笔记 | szhshp 的第三边境研究所 《The Art of Clean Code》阅读笔记 | szhshp 的第三边境研究所 《Clean Architecture: A Craftsman Guide to Software Structure and Design》阅读笔记 | szhshp 的第三边境研究所 《How AI Works》阅读笔记 | szhshp 的第三边境研究所 游戏策划废案 - Project Uranus | szhshp 的第三边境研究所 游戏策划废案 - Project X | szhshp 的第三边境研究所 人生第一款独立游戏开发复盘 | szhshp 的第三边境研究所 Trap of Life | szhshp 的第三边境研究所 如果我用手搓了个暗物质雏形 | szhshp 的第三边境研究所
Now.sh: 最好的 Serverless Deployment Dashboard | szhshp ...
2018-12-09 · via szhshp 的第三边境研究所

Meta

目录

Vercel Jekyll 部署 Troubleshooting

Github 部署 Jekyll 到 Vercel 出现错误

sh: sudo: command not found
Error: Command "sudo gem install bundler jekyll && jekyll build" exited with 127

修改一下 Build Command 即可:

gem install bundler jekyll && jekyll build

ZEIT

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

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

部署

安装 Now

cnpm install now --save-dev

客户端部署

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

CLI 部署

首先

now login

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

now

就可以开始部署了

本地调试

now dev

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

npm i -g yarn

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

部署例子

node 部署

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

{
  "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:

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

Appllo GraphQL 部署

{
  "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 的错误就可能是这部分的问题

……
"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 然后没有返回。