Node.js 使用 Forever 实现开机自启动配置指南

作者:终端旅客时间:2026-10-28 18:20:35浏览:563

本文详细介绍如何在 Linux 环境下通过编写 Shell 脚本,结合 Forever 工具实现 Node.js 应用的开机自启动。内容涵盖初始化脚本的标准格式、关键变量配置(如日志、PID 路径)、Forever 命令的参数用法,以及赋予执行权限并启用 chkconfig 的具体操作步骤,确保服务在系统重启后自动运行。

具体脚本内容如下所示:

Node.js 开机自启动脚本配置#!/bin/bash
### BEGIN INIT INFO
# Provides: xiyoulib
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
# chkconfig: 345 88 08
# description: Forever for Node.js
 
DEAMON=/home/wwwroot/default/im/chat.js #此处需替换为你实际的 Node.js 启动脚本路径
LOG=/home/wwwroot/default/im/log/log #此为可选配置,指定日志文件存储目录
PID=/home/wwwroot/default/im/log/pid #必须配置,用于记录由 Forever 生成的进程 ID
 
export PATH=$PATH:/usr/local/bin #在此处指定 Node.js 可执行文件的安装目录,示例中为 /usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules #指定 Node.js 模块库的搜索路径
 
#以下部分通常无需修改
 
node=node
forever=forever
 
case "$1" in
start)
$forever start -l $LOG --pidFile $PID -a $DEAMON
        ;;
stop)
$forever stop --pidFile $PID $DEAMON
        ;;
stopall)
$forever stopall --pidFile $PID
        ;;
restartall)
$forever restartall --pidFile $PID
        ;;
reload|restart)
$forever restart -l $LOG --pidFile $PID -a $DEAMON
        ;;
list)
$forever list
        ;;
    *)
echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
exit 1
        ;;
esac

启用服务与权限设置

后续配置命令如下:

chmod 755 /etc/init.d/node
chkconfig /etc/init.d/node on
作者最新文章