在前端开发中,Node.js 是一个很重要的框架。而在部署应用时,PM2 是非常常用的一个进程管理工具。但是,PM2 默认不会自动开机启动。那么,如何让 PM2 的 Node.js 应用在开机时自动启动呢?下面我们来讲一讲。
使用 systemd 自启动
在 Linux 系统中,我们可以使用 systemd 来实现自启动。下面是步骤:
- 编写 service 配置文件
在 /etc/systemd/system/
目录下,新建一个 .service
文件。例如:myapp.service
。文件内容如下:
-- -------------------- ---- ------- ------ -------------- ------- --- -------------------- --------- ----------- --------- ------------------------------- ---------------------- ----- ---------------------------------- --------------------- ---- ---------------------------------- ----------------------- ------ ---------------------------------- -------------- -------------- ---------------- --------- --------------------------
文件中,Description
是描述,After
表示 service 后执行,Type
是进程类型,User
是执行用户,WorkingDirectory
是工作目录,ExecStart
是启动指令,ExecStop
是停止指令,ExecReload
是重新加载指令,Restart
是是否自动重启,RestartSec
是重启时间间隔,KillMode
是进程停止方式,[Install]
表示会安装多个 target。
- 启动和自启动
运行下面的代码启动应用并设定自启:
# 启动应用 systemctl start myapp.service # 开机自启动 systemctl enable myapp.service
这样,我们就可以实现应用在开机时自动启动了。
示例代码
下面是示例代码:
-- -------------------- ---- ------- ------ ---------------------- ------ -------------------- --------- ----------- --------- --------------------------------- -------------------------------- ---------------------- ----- ---------------------------------- ----------------------- ------ ---------------------------------- --------------------- ---- ---------------------------------- ---------------- -------------- --------- --------------------------
结论
以上,我们详细讲解了如何让 PM2 的 Node.js 应用在开机时自动启动。通过 systemd,我们可以方便地实现开机自启动。希望这篇文章对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6773bf8d6d66e0f9aae7329c