Next.js 部署在 vps 上经验分享|自己的网站自己做主

3 天前
 GeekFuture626
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 # 删除所有项目
436 次点击
所在节点    VPS
1 条回复
northbrunv
3 天前
面板现在貌似更流行 1panel

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

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

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

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

© 2021 V2EX