V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
GeekFuture626
V2EX  ›  VPS

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

  •  
  •   GeekFuture626 · 15 天前 · 639 次点击
    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
    northbrunv
        1
    northbrunv  
       14 天前
    面板现在貌似更流行 1panel
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 09:43 · PVG 17:43 · LAX 01:43 · JFK 04:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.