小项目,一天可能几百个访问,希望能最低成本跑起来:
双 11 活动 ¥99 买了阿里云便宜的 2 核(vCPU) 2 G 的机器,采用传统方式部署,在服务器上 build ,然后用 pm2 管理,nginx 代理,组件稍微多了点,build 过程直接就不响应断连了... 看来可能得 4G 内存起步。
所以合理方式应该先本地 build 好,直接将 build 后的代码传到生产服务器?
更规范一些,但配置要求比方案 1 更高
国内有没有像 Vercel 、Netlify 、Onrender 之类的服务或平台?求推荐
1
wentx 2024-11-09 11:33:38 +08:00
Github Action + Local Runner ?
|
2
magicflower 2024-11-09 11:34:11 +08:00 via Android
目前用的是方案一
服务器上打包部署 2h2g 完全够用,组件数量 100 左右。 |
3
wuoty 2024-11-09 12:55:01 +08:00 via Android
各类 serverless 平台,比如阿里云函数计算,腾讯云的 serverless
|
4
Alexf4 2024-11-09 12:59:12 +08:00
CF ?
|
5
IvanLi127 2024-11-09 13:01:02 +08:00 在生产环境 build 可太偷懒了...
|
6
Gilfoyle26 2024-11-09 13:09:15 +08:00
国内为啥没有像 Vercel 、Netlify 、Onrender 之类的服务或平台呢?
|
7
shiny PRO 推荐在方案 2 上用 kamal-deploy.org ,在本地 build 好后,服务器上拉下来部署,内存占用不多
还有几个好用的功能: 服务器自动部署 SSL 证书 平滑部署 回滚 但只在国外服务器上用过,不知道国内体验如何 |
8
shiny PRO 也可以自建类似 vercel 的平台,比如 coolify 、dokploy ,但内存消耗就有点多了。
|
9
alansfinal 2024-11-09 13:15:00 +08:00
zeabur
|
10
amlee 2024-11-09 13:58:08 +08:00 自部署一个 dokploy ,不过推荐 2c4g 的机器
|
11
shui14 2024-11-09 14:06:03 +08:00
静态资源放 cloudflare ,api 放自己 vps ,几百个访问的话,搬瓦工最丐的 1 核 0.5g 都可以了
|
12
maxmeng936 2024-11-09 14:49:27 +08:00
不是内存的问题,是因为磁盘存储空间太小,应该只有 40G 吧,下载项目依赖时,磁盘读写很容易卡死
|
13
COW 2024-11-09 14:53:01 +08:00 via Android
没太明白,本地 build 不行么,另外方案 1 和 2 不冲突啊
|
14
crackidz 2024-11-09 14:57:08 +08:00
1 和 2 的资源差距没那么大,不过 2 要省事很多。如果你有 CI/CD pipeline 的话,这种安装依赖 build 过程可以在 pipeline 里执行,无需在服务器上运行。
|
15
madtwilight 2024-11-09 15:52:00 +08:00 via Android
自建 dokploy.com +1 ,很好用
|
17
TheWalkingDead 2024-11-09 17:44:58 +08:00
2G 内存服务器 build next.js ?想多了,我之前有个 8G 的都够呛。
|
18
Sunzehui 2024-11-09 18:00:21 +08:00
build 产物传 git 上,打包后 push 触发在服务器执行 pm2 reload
|
19
COW 2024-11-09 21:43:45 +08:00
@huijiewei 毕竟 OP 资源紧张,没法同平台 build 。如果没有调用 native 方法的话,先在本地弄个 docker 环境,直接把代码放在 docker 环境下,在本地 docker 里按方案 1 的方式 build 就行了,至于 nginx 、pm2 也放到 docker 里,服务端只需要一个镜像。
|
20
leo72638 2024-11-09 22:01:23 +08:00
@Gilfoyle26 #6 因为国内网站都要备案
|
21
sfdev 2024-11-09 22:57:58 +08:00 via Android
用 Github Action 自动构建上传到服务器。
|
22
xiaoming1992 2024-11-09 23:01:14 +08:00
@magicflower 我去,老哥项目有 github 方便看一下吗?在我的 1h2g 小鸡上试过,随便写一点东西,就爆内存了,看看你有没有做什么优化
|
23
xiaoming1992 2024-11-09 23:02:07 +08:00
@sfdev Github Action 能传到国内服务器上吗?我试过被墙了
|
24
sfdev 2024-11-09 23:06:05 +08:00 via Android
@xiaoming1992 现在不知道,我之前做过是可以上传的。
|
25
magicflower 2024-11-10 10:37:39 +08:00 |
26
vovov 2024-11-10 11:16:41 +08:00 via iPhone
@xiaoming1992 可以上传
|
27
hugepizza 2024-11-10 18:56:16 +08:00 via iPhone
github action 3 步
1. build docker image 2. push 到阿里云的免费仓库 3. ssh 到你的🐔上 触发更新镜像脚本 |
28
WinstonCharles 2024-11-11 00:45:50 +08:00
可以试试 dokploy
|
29
wuhaoworld OP @amlee @shiny @madtwilight @WinstonCharles 感谢各位,尝试安装 dokploy ,因为是国内环境,还需要在服务器上配置科学上网,由此导致各种莫名其妙的问题,太心累...
|
30
amlee 2024-11-11 16:17:12 +08:00
@wuhaoworld 国内机器不要配科学环境,容易被 ban 机器和账号。
去 GitHub 上找一下使用 cloudflare woker 搭建 docker hub 代理的脚本,然后自己搭一个自己用 |
31
woorz 2024-11-11 22:06:34 +08:00
|
32
roker 12 天前
dokploy 是最好用的没有之一,用海外的 VPS 最好
|