这是一个创建于 36 天前的主题,其中的信息可能已经有所发展或是发生改变。
nextjs 开发的网站,有 cloudflare 和 vercel 可以用于免费部署。
vercel 的用量很少,网站流量一多就要付费了。cloudflare 要好很多,给的量比 vercel 多。
cloudflare 部署 nextjs 项目,需要微调,有时候会冒出一些恼人的问题出来。不想去改来改去。
所以,我干脆采用 vps 来部署 nextjs 开发的网站。因为是前期,网站流量不多,vps 买够用的就行。配置至少弄个 2 核 2g 的,最好是带防护的。赚到钱再换更好的服务器。数据库我依然用的 cf 或者 vercel 免费的。
网站最好把云备份给弄上。免得哪一天服务器被攻击。
nextjs 项目如何部署到 vps 上?
首先,vps 的系统我用过 centos 和 Debian 。我更偏向用 Debian 的。
接下来,做 vps 的环境优化和配置。该升级的升级,该更新的更新。
接着,安装宝塔面板。方便管理和优化。有钱上正版,没钱你懂的,请一定要做好备份。用宝塔添加网站,做好 nginx 配置文件。
再接着就是 nextjs 项目常规的安装依赖、配置好项目的端口。
最后就是如何让项目持续运行下去。之前我用的 tmux ,用 tmux 的人比较少,求助都不好求助。后来,我改为用 pm2 ,目前用下来体验还不错,能够很好的管理项目。
在项目目录下,npm run build 后,用 pm2 start npm --name "myappname" -- start 就能持续运行下去。
pm2 常用的指令:
查看当前运行的应用列表 pm2 list
检查状态 pm2 status
如果更新涉及环境变量变化,需要更新相应的环境配置
如果想查看日志,可以使用 pm2 logs
如果重启后出现问题,可以回滚到之前的版本
要完全重新加载应用(而不是简单重启),可以使用:pm2 reload app_name
停止特定项目:
pm2 stop app_name # 使用应用名称
pm2 stop app_id # 使用应用 ID
停止所有正在运行的项目:pm2 stop all
如果要删除项目(停止并从 PM2 列表中移除):pm2 delete app_name # 删除特定项目
pm2 delete all # 删除所有项目
1 条回复 • 2024-12-02 03:05:42 +08:00