在前端开发中,我们常常需要在服务器上部署应用程序,这时候一个好的进程管理工具可以帮助我们简化操作流程、提高效率。PM2 就是一个功能强大的进程管理工具,它可以帮助我们监控应用程序的运行情况,自动重启应用、记录日志等,同时,PM2 还支持配置自启动,这样我们就可以避免手动启动应用程序带来的繁琐操作。
本文将介绍如何在服务器上安装配置 PM2,并实现自启动的设置。
安装 PM2
在配置 PM2 自启动之前,我们首先需要在服务器上安装 PM2。安装过程很简单,我们只需要在命令行中输入以下命令:
npm install -g pm2
这将会全局安装 PM2,安装成功后,我们可以通过以下命令检查是否安装成功:
pm2 --version
PM2 常用命令
在使用 PM2 进行进程管理的过程中,我们需要掌握一些常用的命令。以下是一些常用的 PM2 命令:
pm2 start app.js
:启动一个应用pm2 stop <app_name_or_id>
:停止一个应用pm2 restart <app_name_or_id>
:重启一个应用pm2 reload <app_name_or_id>
:重载一个应用pm2 delete <app_name_or_id>
:删除一个应用pm2 list
:查看所有应用的状态pm2 logs
:查看日志
更多命令请参考 PM2 官方文档。
配置 PM2 自启动
要想实现 PM2 自启动,我们需要通过创建一个 systemd
单位文件来达到目的。以下是具体步骤:
1. 切换到 systemd
目录
我们可以通过以下命令切换到 systemd
的目录中:
cd /etc/systemd/system
2. 创建 .service
文件
在 /etc/systemd/system
目录下创建一个 .service
文件,文件名可以自定义,这里以 myapp.service
为例:
sudo nano myapp.service
然后输入以下内容:
-- -------------------- ---- ------- ------ ----------------- ------- -------------------- --------- --------- ------------------------------- ---------------------- ----- -------------------- ------ ------- ----------------------- ------ -------------------- ------ ------- --------------------- ---- -------------------- ------ ------- ------------------------- ------ -------------------- ------ ------- -------------------------------------------- -------------- --------------------- -------------------- ---------------------- --------- --------------------------
下面是一些配置项的解释:
Description
:描述该服务的信息After
:告诉系统,在哪些服务之后启动该服务User
:指定该服务运行的用户Environment
:指定环境变量ExecStart
:指定该服务的启动命令ExecReload
:指定该服务的重载命令ExecStop
:指定该服务的停止命令ExecStopPost
:指定该服务停止后执行的命令WorkingDirectory
:指定工作目录Restart
:指定该服务的重启策略StandardOutput
:指定标准输出流StandardError
:指定标准错误流SyslogIdentifier
:指定系统日志标识符WantedBy
:指定启动级别
需要注意的是,myapp.service
文件中的路径需要根据实际情况进行修改。
3. 重新加载 systemd
配置文件
配置文件创建完成之后,我们需要告诉 systemd
在如何加载新的配置文件。运行以下命令:
sudo systemctl daemon-reload
4. 启动服务
我们可以通过以下命令启动服务:
sudo systemctl start myapp.service
然后我们可以通过以下命令查看服务的状态:
sudo systemctl status myapp.service
如果服务运行正常,则会输出类似以下的信息:
● myapp.service - MyApp Service Loaded: loaded (/etc/systemd/system/myapp.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-03-29 11:20:17 UTC; 14s ago Main PID: 42020 (pm2) Tasks: 8 (limit: 1152) CGroup: /system.slice/myapp.service ├─42020 pm2 start /path/to/your/app.js --name "myapp" └─42030 node /path/to/your/app.js
5. 设置自启动
最后我们需要设置该服务为自动启动,通过以下命令使该服务开机自启动:
sudo systemctl enable myapp.service
现在,每次服务器重启之后,PM2 会自动启动我们配置的应用程序,并且在后台运行,可以为我们节省很多时间和精力。
总结
通过本文介绍,我们学习了如何在服务器上安装配置 PM2,并实现自启动的设置。在办公室等场合,不需要每次手动启动应用程序,可以节省时间和精力。当然,不仅仅是 PM2,系统服务的配置和管理也是一个值得深入研究的话题。我们希望读者在本文的基础上,更好地应用进程管理这样的服务,提高效率,创造更多优秀的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66475527d3423812e45a3b6b