每天进步一点点:PM2设置开机自启动

in cn •  5 years ago 

之前的文章中,我介绍了可以使用PM2来让node.js程序一直运行,但是这样做的一个前提是我们要执行一下pm2 start xxx.js命令。


(图源 :pixabay)

那么新问题来了,每次我们需要重启服务器,都需要重新执行一下pm2 start xxx.js命令,是不是很麻烦,有没有办法让PM2在开机时自动启动我们的应用?

pm2 startup

方式之一是使用pm2 startup,大致步骤如下:

pm2 start xxx.js启动应用。
pm2 save保存
pm2 startup来设置开机自动启动。

但是因为我的PM2是本地安装的(并非全局安装),而且也不想以root用户直接运行应用,所以不去考虑这种方法。

使用rc.local

第二种方法是使用rc.local。

使用rc.local可能是相当过时的办法,但是对我而言,简单且好用就可以。

首先创建rc.local文件,并设置执行权限

sudo vi /etc/rc.local
sudo chmod u+x /etc/rc.local

在rc.local文件第一行加入如下语句

#!/bin/sh -e

否则,可能会出现类似如下错误:

之后在rc.local中添加如下内容:

su -c '~/bin/pm2 start ~/xxx/app.js' --login userxxxx

其中-, -l, --login代表:

Provide an environment similar to what the user would expect had the user logged in directly.

这样就会加载用户的环境,否则会出现类似如下错误:

/usr/bin/env: ‘node’: No such file or directory

因为在pm2的脚本中使用了如下内容:

#!/usr/bin/env node

验证

进行上述设置后,直接重启服务器,发现我们的服务访问正常,说明上述设置 无误。

需要注意的几个坑上边已经提到啦(很不幸,我都踩到了,哈哈)

相关链接


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  ·  5 years ago 

恭喜你!您的这篇文章入选 @justyy 今日 (2019-07-14) 榜单 【优秀的文章】, 回复本条评论24小时内领赏,点赞本评论将支持 @dailychina 并增加将来您的奖赏。
@justyy 是CN区的见证人,请支持他,给他投票,或者设置justyy为见证人代理。感谢!@justyy的主要贡献:https://steemyy.com

Congratulations! This post has been selected by @justyy as today's (2019-07-14) 【Good Posts】, Steem On! Reply to this message in 24 hours to get rewards. Upvote this comment to support the @dailychina and increase your future rewards! ^_^

SteemIt 工具、API接口、机器人和教程
SteemIt Tools, Bots, APIs and Tutorial



If you believe what I am doing, please consider a spare vote voting me here, thank you very much indeed.

@justyy - the author of https://SteemYY.com and I have been a Steem Witness for more than a year now.

区块链中文第一大银行简介:你的比特币拿不了利息,但是你把比特币换成steem后就能拿利息了!

thx

Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.00% upvote! Together, let’s change the world!