【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目

时间:2022-10-30 08:56:46


忘记过去,超越自己

  • ❤️ 博客主页 ​​单片机菜鸟哥,一个野生非专业硬件IOT爱好者​​ ❤️
  • ❤️ 本篇创建记录 2022-10-22 ❤️
  • ❤️ 本篇更新记录 2022-10-22 ❤️
  • ???? 欢迎关注 ????点赞 ????收藏 ⭐️留言????
  • ???? 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
  • ???? Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志 ????

目录

  • ​​1. 前言​​
  • ​​2. 三分钟完成云服务器配置PM2​​
  • ​​2.1 安装PM2​​
  • ​​2.2 查看PM2 版本信息​​
  • ​​2.3 查看一下当前正在运行的项目情况​​
  • ​​3. 管理已有NodeJS项目​​
  • ​​3.1 先找到我们项目在文件系统里面的位置​​
  • ​​3.2 分别通过PM2启动这两个项目​​
  • ​​3.2.1 启动3dphoto​​
  • ​​3.2.2 启动nodejs物联网​​
  • ​​3.3 开机自启动应用​​
  • ​​3.3.1 保存当前进程状态​​
  • ​​3.3.2 生成开机自启动脚本​​
  • ​​3.3.3 重启一下服务器试试效果​​
  • ​​4. 总结​​

1. 前言

在学习 ​​【NodeJs-5天学习】第四天存储篇⑤ ——PM2,node.js应用进程管理器​​ 时,我们的应用管理工具是部署在本地电脑的,我们也把它弄到云服务器上,用来管理我们在云上的nodejs项目。

另外一个原因是,宝塔提供的PM2管理工具挂了,博主就干脆自己用命令行安装PM2环境,然后配置好一些启动参数。

至于在云上如何安装NodeJS环境(包括NPM),就直接参考 ​​【鸟哥杂谈】十分钟使用命令行在云服务器Centos环境下搭建NodeJS环境​​ 先完成配置。

2. 三分钟完成云服务器配置PM2

2.1 安装PM2

直接输入命令:

​npm install pm2 -g​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


而它的安装目录信息可以查看这里:

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目

这时候我们就可以开始使用 pm2的命令行。

2.2 查看PM2 版本信息

直接输入命令:

​pm2 --version​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目

2.3 查看一下当前正在运行的项目情况

直接输入命令:

​pm2 list​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


可以看到,当前一个项目都没有,我们需要通过PM2去启动这些项目。

3. 管理已有NodeJS项目

这里挑一下我们之前上传的两个项目:

  • ​​【ESP 保姆级教程】疯狂Node.js服务器篇 ——程序员的浪漫,给女朋友做个3d相册,实现公网访问(不需要ESP)​​
  • ​​【ESP 保姆级教程】疯狂Node.js服务器篇 ——nodejs应用部署到腾讯云,实现公网访问​​

3.1 先找到我们项目在文件系统里面的位置

目前博哥把node项目主要放在:

​www/wwwroot/node/xxx​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


这里分别对应博哥的两个项目

  • 3dphoto(程序员的浪漫)
  • nodejs (物联网大屏)

3.2 分别通过PM2启动这两个项目

3.2.1 启动3dphoto

找到目标目录直接输入命令:

​pm2 start index.js -n 3dphoto​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目

这里博哥做了一个别名 ​​3dphoto​​,好区分项目。

直接访问一下网页看看效果。

3.2.2 启动nodejs物联网

切换好目录之后直接输入命令:

​pm2 start index.js -n InternetThings​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


这里博哥做了一个别名

​InternetThings​

,好区分项目。

直接访问一下网页看看效果。

3.3 开机自启动应用

以上两种方式重启服务器之后就没用了。我们需要通过PM2来告诉服务器开机自启动我们的应用。

3.3.1 保存当前进程状态

​pm2 save​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目

3.3.2 生成开机自启动脚本

​pm2 startup​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


提示我们要继续执行多一条命令。

​sudo env PATH=$PATH:/usr/local/node-v16.18.0/bin /usr/local/node-v16.18.0/lib/node_modules/pm2/bin/pm2 startup systemd -u lighthouse --hp /home/lighthouse​

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


这里也告诉我们如果要重启生效,要执行一下 ​​pm2 save​​ 命令。

当然如果我们不想要开机自启动,可以调用一下 ​​pm2 unstartup systemd​

3.3.3 重启一下服务器试试效果

【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


【鸟哥杂谈】三分钟完成云服务器配置PM2,管理所有nodejs项目


说明真的实现了开机自启动了,完美!

4. 总结

简单花几分钟配置好PM2 NodeJS项目管理器,统筹所有的nodejs项目运行状态,同时可以做到开机自启动等等。