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常用命令:
评论
发表评论