国内部署基于 Next.js 的项目,最优雅的方案是什么?

5 天前
 wuhaoworld

小项目,一天可能几百个访问,希望能最低成本跑起来:

方案 1:传统方式,pm2 管理

双 11 活动 ¥99 买了阿里云便宜的 2 核(vCPU) 2 G 的机器,采用传统方式部署,在服务器上 build ,然后用 pm2 管理,nginx 代理,组件稍微多了点,build 过程直接就不响应断连了... 看来可能得 4G 内存起步。

所以合理方式应该先本地 build 好,直接将 build 后的代码传到生产服务器?

方案 2:自己在服务器上跑 Docker

更规范一些,但配置要求比方案 1 更高

方案 3:

国内有没有像 Vercel 、Netlify 、Onrender 之类的服务或平台?求推荐

2537 次点击
所在节点    程序员
31 条回复
wentx
5 天前
Github Action + Local Runner ?
magicflower
5 天前
目前用的是方案一
服务器上打包部署 2h2g 完全够用,组件数量 100 左右。
wuoty
5 天前
各类 serverless 平台,比如阿里云函数计算,腾讯云的 serverless
Alexf4
5 天前
CF ?
IvanLi127
5 天前
在生产环境 build 可太偷懒了...
Gilfoyle26
5 天前
国内为啥没有像 Vercel 、Netlify 、Onrender 之类的服务或平台呢?
shiny
5 天前
推荐在方案 2 上用 kamal-deploy.org ,在本地 build 好后,服务器上拉下来部署,内存占用不多
还有几个好用的功能:
服务器自动部署 SSL 证书
平滑部署
回滚

但只在国外服务器上用过,不知道国内体验如何
shiny
5 天前
也可以自建类似 vercel 的平台,比如 coolify 、dokploy ,但内存消耗就有点多了。
alansfinal
5 天前
zeabur
amlee
5 天前
自部署一个 dokploy ,不过推荐 2c4g 的机器
shui14
5 天前
静态资源放 cloudflare ,api 放自己 vps ,几百个访问的话,搬瓦工最丐的 1 核 0.5g 都可以了
maxmeng936
5 天前
不是内存的问题,是因为磁盘存储空间太小,应该只有 40G 吧,下载项目依赖时,磁盘读写很容易卡死
COW
5 天前
没太明白,本地 build 不行么,另外方案 1 和 2 不冲突啊
crackidz
5 天前
1 和 2 的资源差距没那么大,不过 2 要省事很多。如果你有 CI/CD pipeline 的话,这种安装依赖 build 过程可以在 pipeline 里执行,无需在服务器上运行。
madtwilight
5 天前
自建 dokploy.com +1 ,很好用
huijiewei
5 天前
@COW 本地 build 有些二进制依赖并不能兼容。一般都是建议和服务器同平台 build
TheWalkingDead
5 天前
2G 内存服务器 build next.js ?想多了,我之前有个 8G 的都够呛。
Sunzehui
5 天前
build 产物传 git 上,打包后 push 触发在服务器执行 pm2 reload
COW
5 天前
@huijiewei 毕竟 OP 资源紧张,没法同平台 build 。如果没有调用 native 方法的话,先在本地弄个 docker 环境,直接把代码放在 docker 环境下,在本地 docker 里按方案 1 的方式 build 就行了,至于 nginx 、pm2 也放到 docker 里,服务端只需要一个镜像。
leo72638
5 天前
@Gilfoyle26 #6 因为国内网站都要备案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1087954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX