忘记过去,超越自己
- ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件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的命令行。
2.2 查看PM2 版本信息
直接输入命令:
pm2 --version
2.3 查看一下当前正在运行的项目情况
直接输入命令:
pm2 list
可以看到,当前一个项目都没有,我们需要通过PM2去启动这些项目。
3. 管理已有NodeJS项目
这里挑一下我们之前上传的两个项目:
- 【ESP 保姆级教程】疯狂Node.js服务器篇 ——程序员的浪漫,给女朋友做个3d相册,实现公网访问(不需要ESP)
- 【ESP 保姆级教程】疯狂Node.js服务器篇 ——nodejs应用部署到腾讯云,实现公网访问
3.1 先找到我们项目在文件系统里面的位置
目前博哥把node项目主要放在:
www/wwwroot/node/xxx
这里分别对应博哥的两个项目
- 3dphoto(程序员的浪漫)
- nodejs (物联网大屏)
3.2 分别通过PM2启动这两个项目
3.2.1 启动3dphoto
找到目标目录直接输入命令:
pm2 start index.js -n 3dphoto
这里博哥做了一个别名 3dphoto
,好区分项目。
直接访问一下网页看看效果。
3.2.2 启动nodejs物联网
切换好目录之后直接输入命令:
pm2 start index.js -n InternetThings
这里博哥做了一个别名
InternetThings
,好区分项目。
直接访问一下网页看看效果。
3.3 开机自启动应用
以上两种方式重启服务器之后就没用了。我们需要通过PM2来告诉服务器开机自启动我们的应用。
3.3.1 保存当前进程状态
pm2 save
3.3.2 生成开机自启动脚本
pm2 startup
提示我们要继续执行多一条命令。
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 save
命令。
当然如果我们不想要开机自启动,可以调用一下 pm2 unstartup systemd
3.3.3 重启一下服务器试试效果
说明真的实现了开机自启动了,完美!
4. 总结
简单花几分钟配置好PM2 NodeJS项目管理器,统筹所有的nodejs项目运行状态,同时可以做到开机自启动等等。