pm2 设置开机启动
一、官方文档:
官方相关文档:http://pm2.keymetrics.io/docs/usage/startup/#generating-a-startup-script
二、具体操作过程如下:
1、生成开机启动 pm2 服务的配置文件
运行:pm2 startup 命令
➜ ~ pm2 startup
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/home/user1/.nvm/versions/node/v8.8.1/bin /home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2
startup systemd -u user1 --hp /home/user1
粘贴上面的命令到终端,如下:
➜ init.d sudo env PATH=$PATH:/home/user1/.nvm/versions/node/v8.8.1/bin /home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2
startup systemd -u user1 --hp /home/user1
[sudo] user1 的密码:
在非root用户下会让你输入密码。密码输入完成后终端会出现如下内容:
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=user1
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/home/user1/.nvm/versions/node/v8.8.1/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/user1/.pm2
PIDFile=/home/user1/.pm2/pm2.pid ExecStart=/home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2 kill [Install]
WantedBy=multi-user.target Target path
/etc/systemd/system/pm2-user1.service
Command list
[ 'chmod +x /etc/systemd/system/pm2-user1.service',
'systemctl enable pm2-user1',
'systemctl start pm2-user1',
'systemctl daemon-reload',
'systemctl status pm2-user1' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-user1.service
[PM2] Making script booting at startup...
>>> Executing chmod +x /etc/systemd/system/pm2-user1.service
[DONE]
>>> Executing systemctl enable pm2-user1
Created symlink from /etc/systemd/system/multi-user.target.wants/pm2-user1.service to /etc/systemd/system/pm2-user1.service.
[DONE]
>>> Executing systemctl start pm2-user1
[DONE]
>>> Executing systemctl daemon-reload
[DONE]
>>> Executing systemctl status pm2-user1
● pm2-user1.service - PM2 process manager
Loaded: loaded (/etc/systemd/system/pm2-user1.service; enabled; vendor preset: disabled)
Active: active (running) since �� -- :: CST; 47ms ago
Docs: https://pm2.keymetrics.io/
Main PID: (PM2 v2.7.2: God)
CGroup: /system.slice/pm2-user1.service
‣ PM2 v2.7.2: God Daemon (/home/user1/.pm2) �� :: izbp14un3b3r5tbimwuxlbz systemd[]: Starting PM2 process manager...
�� :: izbp14un3b3r5tbimwuxlbz pm2[]: [PM2] Resurrecting
�� :: izbp14un3b3r5tbimwuxlbz systemd[]: Started PM2 process manager.
[DONE]
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save [PM2] Remove init script via:
$ pm2 unstartup systemd
按照提示的命令进行配置就好了。你会在/etc/systemd/system文件夹下看到pm2-user1.service文件
2、pm2 save, 保存当前 pm2 运行的各个应用保存到 /home/user1/.pm2/dump.pm2下,开机重启时读取该文件中的内容启动相关应用。
➜ ~ pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /home/user1/.pm2/dump.pm2
3、查看配置是否开启:使用命令:systemctl status pm2-user1.service
➜ system systemctl status pm2-user1.service
● pm2-user1.service - PM2 process manager
Loaded: loaded (/etc/systemd/system/pm2-user1.service; enabled; vendor preset: disabled)
Active: active (running) since �� -- :: CST; 44min ago
Docs: https://pm2.keymetrics.io/
Main PID: (PM2 v2.7.2: God)
CGroup: /system.slice/pm2-user1.service
‣ PM2 v2.7.2: God Daemon (/home/user1/.pm2) �� :: izbp14un3b3r5tbimwuxlbz pm2[]: [PM2] Resurrecting
参考:http://imweb.io/topic/57c8cbb27f226f687b365636
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
pm2 设置开机启动的更多相关文章
- ubuntu下设置开机启动服务
原文:http://blog.csdn.net/dante_k7/article/details/7213151 在ubuntu10.04之前的版本都是使用chkconfig来进行管理,而在之后的版本 ...
- windows设置开机启动项
一.windows下设置开机启动有如下方法 1 注册表启动项目RUN 2 计划任务,在"windows管理">"计划任务管理器"中新建任务,在操作栏指定要 ...
- centos7安装docker并设置开机启动
版本要求:查看内核版本,需大于3.10 [root@localhost ~]# uname -r -.el7.x86_64 更新内核:如果是生产机器务必慎重更新内核,避免出现不必要的问题. sudo ...
- openerp 7 在ubuntu上设置开机启动
我们要让openerp开机运行起来. 第一步,先进入系统目录: cd /etc/init.d 第二步,创建文件.命名为openerp-server sudo vi openepr-server 第三步 ...
- [转载]C#设置开机启动
原理就是在注册表启动项里添加一项.路径:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:运行->regedit找到这个路径添加一项. usin ...
- Fedora 21 设置开机启动脚本
sudo touch /etc/rc.d/rc.localsudo vim /etc/rc.d/rc.local 在/etc/rc.d/rc.local文件中写入, 然后使用:wq命令 保存并退出. ...
- windows下架设SVN服务器并设置开机启动
原文:windows下架设SVN服务器并设置开机启动 1.安装SVN服务器,到http://subversion.apache.org/packages.html上下载windows版的SVN,并安装 ...
- Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动
Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动 >>>>>>>>>>>>>> ...
- Redis 设置开机启动
1. 将下列代码保存为文件redis, 置于 /etc/init.d 下面 ########################### # chkconfig: 2345 90 10 redis服务必须在 ...
随机推荐
- spring boot-mybatis全注解化(3)
pom.xml <!-- 引入mybatis --> <dependency> <groupId>org.mybatis.spring.boot</group ...
- sqlalchemy 获取计数 count
from sqlalchemy import func message_count = self.db.query(func.count(Message.uid)).filter(Message.ui ...
- 用Gearman分发PHP应用程序的工作负载
文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/518 虽然一个 Web 应用程序的大部分内容都与表示有关,但它的价值与竞争优势却可能体如今 ...
- webapck 打包体积优化策略
一.概述 1.Tree-shaking 2.公共资源分离 3.图片压缩 二.Tree-shaking Tree-shaking:1个模块可能有多个方法,只要其中的某个方法使用到了,则整个文件都会被打到 ...
- coco2d-js 触摸移动的同时处理点击事件
cc.eventManager.addListener({ event: cc.EventListener.TOUCH_ALL_AT_ONCE, onTouchesMoved:function (to ...
- windows能连网络,可是打不开网页,出现无法解析server的DNS
首先,我想先说作为一名刚学完计算机网络课的学生,并且还完毕了学校的号称和斯坦福一个难度级别的网络实验之后.我觉得自己对于计算机网络还是勉强入门了.对于各种之前仅仅是听过的各种tcp.http.路由器. ...
- 〖Android〗JDK7签名apk出现INSTALL_PARSE_FAILED_NO_CERTIFICATES的解决方法
由于某项需求,把JDK版本从JDK6升级到了JDK7: 但是签名APK之后出现了INSTALL_PARSE_FAILED_NO_CERTIFICATES的错误: 解决方法: 在签名时,添加参数 -di ...
- Eclipse和MyEclipse使用技巧--Eclipse中使用Git-让版本管理更简单
详细步骤: 第一部分 GIT介绍 (1)GIT往世今生 2005年开发Samba的Andrew试图破解BitKeeper(一款商业的版本控制系统)的协议(这么干的其实也不只他一个),被BitMove ...
- Node.js相关——CommonJS规范
1. CommonJS规范产生背景 在后端,JavaScript的规范远远落后并且有很多缺陷,这使得难以使用JavaScript开发大型应用.比如: 没有模块系统 标准库较少 没有标准接口 缺乏包管理 ...
- StatefulSet和Deployment的区别
“Deployment用于部署无状态服务,StatefulSet用来部署有状态服务”. 具体的,什么场景需要使用StatefulSet呢?官方给出的建议是,如果你部署的应用满足以下一个或多个部署需求, ...