Next.js 部署在 vps 上经验分享|自己的网站自己做主 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
GeekFuture626
V2EX    VPS

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

  •  
  •   GeekFuture626 318 天前 1339 次击
    这是一个创建于 318 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    Brunuh2Ville2
        1
    Brunuh2Ville2  
       318 天前
    面板现在貌似更流行 1panel
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3248 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 00:19 PVG 08:19 LAX 17:19 JFK 20:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86