阅读量:1
在Debian系统下,为Node.js应用编写一个启动脚本可以帮助你管理应用的启动、停止和重启。以下是一个基本的启动脚本示例,你可以根据自己的需求进行修改。
- 首先,在你的Node.js应用目录中创建一个名为
start-app.sh的文件:
#!/bin/bash
# 应用名称
APP_NAME="your-app-name"
# 应用目录
APP_DIR="/path/to/your/app"
# Node.js可执行文件路径
NODE_EXECUTABLE="/usr/bin/node"
# 应用入口文件
ENTRY_POINT="app.js"
# 日志文件路径
LOG_FILE="/var/log/${APP_NAME}.log"
# 启动应用
start() {
if [ ! -f "$APP_DIR/$ENTRY_POINT" ]; then
echo "${APP_NAME} 的入口文件不存在: ${APP_DIR}/${ENTRY_POINT}"
exit 1
fi
echo "正在启动 ${APP_NAME}..."
nohup ${NODE_EXECUTABLE} ${APP_DIR}/${ENTRY_POINT} >> ${LOG_FILE} 2>&1 &
echo "${APP_NAME} 启动成功,进程ID: $!"
}
# 停止应用
stop() {
PID=$(ps -ef | grep "${NODE_EXECUTABLE} ${APP_DIR}/${ENTRY_POINT}" | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then
echo "${APP_NAME} 未运行"
else
echo "正在停止 ${APP_NAME}..."
kill $PID
echo "${APP_NAME} 已停止"
fi
}
# 重启应用
restart() {
stop
start
}
# 根据传入的参数执行相应操作
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "用法: $0 {start|stop|restart}"
exit 1
esac
exit 0
-
修改脚本中的
APP_NAME、APP_DIR、NODE_EXECUTABLE和ENTRY_POINT变量,使其与你的Node.js应用相匹配。 -
为脚本添加可执行权限:
chmod +x start-app.sh
- 使用以下命令启动、停止和重启你的Node.js应用:
./start-app.sh start
./start-app.sh stop
./start-app.sh restart
- 若要让此脚本在系统启动时自动运行,可以将其添加到
/etc/init.d/目录下,并使用update-rc.d命令创建符号链接:
sudo cp start-app.sh /etc/init.d/
sudo chmod +x /etc/init.d/start-app.sh
sudo update-rc.d start-app.sh defaults
现在,你的Node.js应用将在系统启动时自动运行。如果需要停止自动运行,可以使用以下命令删除符号链接:
sudo update-rc.d start-app.sh remove
以上就是关于“Debian下Node.js应用的启动脚本怎么写”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm