pm2 开机自启动

Posted A Simple Note Book

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pm2 开机自启动相关的知识,希望对你有一定的参考价值。

1、首先在项目根目录使用 pm2 启动项目

pm2 start ./dist/main.js

2、生成开机启动 pm2 服务的配置文件

运行:pm2 startup 命令,会生成以下命令

[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target

[Service]
Type=forking
User=root
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/git/bin:/usr/local/n/versions/node/12.22.9/bin:/root/android-sdk/platform-tools:/root/android-sdk/tools:/opt/gradle-5.5/bin:/usr/local/java/jdk8u272-b10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/python3/bin:/root/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/root/.pm2
PIDFile=/root/.pm2/pm2.pid
Restart=on-failure

ExecStart=/usr/local/n/versions/node/12.22.9/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/n/versions/node/12.22.9/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/local/n/versions/node/12.22.9/lib/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target

Target path
/etc/systemd/system/pm2-root.service
Command list
[ \'systemctl enable pm2-root\' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-root.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-root...
Created symlink from /etc/systemd/system/multi-user.target.wants/pm2-root.service to /etc/systemd/system/pm2-root.service.
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save

[PM2] Remove init script via:
$ pm2 unstartup systemd
[root@localhost ktt-spider]# pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2

3、执行 pm2 save 保存当前 pm2 运行的各个应用保存到 /home/user1/.pm2/dump.pm2 下,开机重启时会读取该文件中的内容启动相关应用

重启试试!

win配置pm2开机自启node项目

pm2类似于nodemon,但是功能比nodemon更丰富

1.全局安装pm2,如果你的系统提前没有安装node环境,那么你可以参考博文:https://blog.csdn.net/weixin_46758988/article/details/117109297 ;如果你已经全局安装过pm2,只是没有配置开机自启,那么你也无需重复安装pm2了

npm install pm2 -g   或使用yarn安装(使用yarn前先 npm install yarn -g 全局安装yarn):yarn global add pm2

2.全局安装pm2 Win自启包:pm2-windows-startup:

npm install pm2-windows-startup -g 或 yarn global add pm2-windows-startup

3.安装配置包:pm2-startup

pm2-startup install 或 yarn add pm2-startup

4.使用pm2启动项目,这里可以直接启动你项目中的index.js或app.js,但是还是推荐使用pm2配置文件启动项目,关于pm2配置文件可以参考如下配置文件pm2.config.json(如果想要更详细配置可以查阅官方文档):


  "apps":
    "name":"myproject-web", // 项目的别名
    "script":"index.js", //需要启动程序的入口文件
    "watch":"true", // 开启文件变化监听
    "ignore_watch":[ // 忽略文件变化监听文件
      "node_modules",
      "logs"
    ],
    "error_file":"logs/error.log", //配置错误日志输出文件地址
    "out_file":"logs/consoles.log", //配置打印日志输出文件地址
    "log_date_format":"YYYY-MM-DD HH:mm:ss",  //配置日志日期格式
    "instances":2 //配置项目所占用的核数,小于等于服务器的总核数量
  

5.启动项目:使用pm2启动项目,提前将命令行切换到项目根文件夹下后执行如下命令(如果不切换到项目文件下可以在启动时将项目路径加入启动:pm2 start 路径\\index.js):

pm2 start pm2.config.json ,如果没有配置pm2配置文件,那么可以直接通过:pm2 index.js 或 pm2 app.js启动

6.将此项目保存起来,开机后才会自动重启,如:

pm2 save

7.重启服务器,可以正常访问应用,当然我们通常使用命令行下键入命令:pm2 list查看当前启动的项目,这里命令行路径没有要求,如:

pm2 list

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

以上是关于pm2 开机自启动的主要内容,如果未能解决你的问题,请参考以下文章

Window 设置pm2开机自启动服务

让Node Red开机自启

关于centos下开机自启动问题

nodejs脚本centos开机启动

win配置pm2开机自启node项目

win配置pm2开机自启node项目