Mac下通过PM2来设置Next.JS项目的开机自动启动服务

1、安装pm2程序

sudo npm install -g pm2


2、使用pm2来启动项目


A、pm2自动运行next.js程序的服务:

cd ~/env/luomanlin

pm2 start npm --name "luomanlin-app" --   run start

--与run之间要保留空格,否则运行会报错!


B、pm2自动运行python程序的服务:

pm2 start ~/Documents/Stock_Data/start.py \

  --name stock-data \

  --interpreter ~/Documents/Stock_Data/.venv/bin/python


C、pm2自动运行cloudflare tunnel绑定域名的服务:

pm2 start cloudflared --name "cloudflare-tunnel" -- --config ~/.cloudflared/config.yml tunnel run huashu


3、保存列表并设置开机自启动

(一定要save,并且设置开机启动)

pm2 save

pm2 startup

执行完pm2 startup命令后,命令行中会展示一串命令,如:sudo env PATH=$PATH:/Users/luomanlin/.nvm/versions/node/v20.20.2/bin /Users/luomanlin/.nvm/versions/node/v20.20.2/lib/node_modules/pm2/bin/pm2 startup launchd -u luomanlin --hp /Users/luomanlin

完整的拷贝你电脑中展示的这串命令,再重新粘贴,必须要执行一次!


4、检查


A、检查项目的服务是否成功启动(是否可以正常登录)

命令行运行:

pm2 logs 0

如果出现


则表示服务已成功启动。


B、检查pm2中是否已加入这个自启动的服务

命令行运行:

pm2 list

如果出现



则标识当前项目的自启动服务已经被成功加入了pm2


命令行执行:
ls ~/Library/LaunchAgents/ | grep pm2

如果返回:
pm2.xxx.plist
则表示开机启动配置成功!


5、Mac电脑禁用深度休眠功能


默认如果是显示器锁屏,熄屏,是不影响服务的正常访问的;但是,如果电脑休眠,则其他机器就无法访问next.js项目了,因此要禁用Mac的休眠功能

命令行输入:

sudo pmset -a sleep 0

sudo pmset -a displaysleep 0

sudo pmset -a ttyskeepawake 1


--------------------------------------------------


PM2 (Process Manager 2) 是 Node.js 世界里最流行的生产级进程管理器。简单来说,如果你直接用 npm run dev 启动项目,窗口一关程序就死;而用 PM2,它就像是一个 24 小时待命的运维工程师,盯着你的程序看。


PM2 的核心功能

为什么开发者都爱它?主要因为这四大招:

后台运行 (Daemonize):让你的程序在后台静默运行,不占用终端窗口。

自动重启 (Auto Restart):如果你的代码因为某个 Bug 崩溃了(比如内存溢出),PM2 会在毫秒级时间内把它重新拉起来。

负载均衡 (Cluster Mode):Node.js 默认是单线程的。PM2 可以根据你 CPU 的内核数,开启多个实例,让性能翻倍。

日志管理 (Log Management):它会自动收集 console.log 和错误日志,并按日期切分,防止日志文件撑爆硬盘。


pm2常用命令:









评论

此博客中的热门博文

通过命令行在Github上发布项目的新版本

利用GitHub免费的静态页面托管空间发布网页

本地部署OpenAvatarChat实时交互数字人系统