Linux环境下,要使程序开机自动启动项中,一般使用chkconfig将其添加到开机启动项,Red Hat和CentOS系统提供了更新简单的方式,即:将启动项写入rc.local
。本文将介绍通过写入rc.local
启动项,配置Node.js程序的开机启动。
forever
模块是一个不错的、保障Node程序持续运行的进行守护工具,本站便是使用forever
模块。
1. forever
启动程序
使用npm install forever -g
全局安装后,可以如下命令启动Node程序,并设置程序进程的UID
:
forever start --uid itbilu bin/www
启动后,可以使用以下命令检查程序是否启动成功:
forever list info: Forever processes running data: uid command script forever pid id logfile uptime data: [0] itbilu /usr/bin/node bin/www 22265 22267 /root/.forever/itbilu.log 0:0:16:26.152
2. 添加到rc.local
开机启动项
程序启动后,可以使用以下命令,将程序添加到开机启动项:
echo "forever start --uid itbilu -a /home/www/itbilu/bin/www" >>/etc/rc.d/rc.local
也可直接编辑rc.local
文件添加。在上面的命令中,除指定UID
外,还指定了-a
参数该参数会设置向原日志文件中继续追加日志,不设置此参数可能会由于原日志文件还存在而无法启动程序。
注意:添加开机启动项时,需要使用程序的绝对路径。另外,有些系统的/etc/rc.d/rc.local
文件并没有执行权限,应该执行chmod +x /etc/rc.d/rc.local
命令为其添加执行权限。
检查添加是否成功:
# tail -n 1 /etc/rc.d/rc.local forever start --uid itbilu -a /home/www/itbilu/bin/www
配置完成,现在以尝试重启服务器,验证程序的启动情况。