宝塔部署node项目,实现项目遇到异常停止后自动重启

我们在将自己编写的node项目经常会遇到项目因为遇到错误关闭的情况,而该文章将为大家提供node项目遇到异常停止后,如何实现自动重启的功能。摆脱每次都要手动重启的尴尬。

全局安装 pm2:

npm install pm2 -g

检查全局 npm 模块路径,运行以下命令以查看全局 npm 模块的安装位置:

npm root -g

手动配置环境变量:

使用以下命令检查 `pm2` 的全局安装路径:

which pm2

如果 `pm2` 的全局安装路径不在系统的环境变量中,需要手动配置。打开终端配置文件(通常是 `~/.bashrc` 或 `~/.bash_profile`),然后添加以下行:

export PATH=$PATH:/usr/local/bin

或将路径 `/usr/local/bin` 替换为 `pm2` 的实际全局安装路径。

比如下面是我的实际全局安装路径:

export PATH=$PATH:/www/server/nodejs/v14.17.6/lib/node_modules/pm2/bin

接下来,我们修改一下环境变量

打开终端配置文件(在服务器根目录下运行):

使用以下命令打开终端配置文件(通常是 `~/.bashrc` 或 `~/.bash_profile`):

vi ~/.bashrc

vi ~/.bash_profile

添加 pm2 的路径:在文件的末尾添加以下行:

export PATH=$PATH:/www/server/nodejs/v14.17.6/lib/node_modules/pm2/bin

保存和退出:

按 `Esc` 键,然后输入 `:wq`,并按回车键保存并退出 vi 编辑器。

重新加载环境变量:

使用以下命令重新加载环境变量:

source ~/.bashrc

source ~/.bash_profile

验证 pm2 安装:

再次尝试运行以下命令来验证 `pm2` 是否已成功安装:

扫描二维码关注公众号,回复: 17174306 查看本文章
pm2 --version

如果成功安装,你会看到 `pm2` 的版本号。


接下来,我们就要进入正题了。

要在宝塔面板中创建的 Node.js 项目保持自动重启,我们需要通过一些工具或脚本来实现。一种常见的方法是使用 `pm2` 这样的进程管理工具:

安装 pm2:

宝塔面板中使用终端输入以下命令安装 `pm2`(前面操作过,这步可以省略)

npm install pm2 -g

启动应用程序:

在项目目录下,使用 `pm2` 启动应用程序(重启就将start换成restart),例如:

pm2 start npm -- start

保存当前 `pm2` 进程列表:

这将确保在服务器重新启动后 `pm2` 进程仍然运行。您可以使用以下命令保存当前的 `pm2` 进程列表:

pm2 save

生成启动脚本:

为了使 `pm2` 在服务器重新启动时自动加载,您可以生成一个启动脚本。可以通过以下命令生成脚本:

pm2 startup 

现在,当服务器重新启动时,`pm2` 会自动加载并启动 Node.js 应用程序。 通过这些步骤,Node.js 应用程序应该能够在遇到异常停止后自动重启。


最后需要注意的是,如果将来更新或重新安装了 Node.js 版本,`npm` 的全局路径可能会更改。在这种情况下,你需要相应地更新 `pm2` 的路径。确保将上述步骤中的路径 `/www/server/nodejs/v14.17.6` 替换为自己的实际 Node.js 版本的路径。

猜你喜欢

转载自blog.csdn.net/qq_25501981/article/details/134017353