溫馨提示×

Debian下Node.js應用的啟動腳本怎么寫

小樊
46
2025-09-27 15:16:01
欄目: 編程語言

在Debian系統下,為Node.js應用編寫一個啟動腳本可以幫助你管理應用的啟動、停止和重啟。以下是一個基本的啟動腳本示例,你可以根據自己的需求進行修改。

  1. 首先,在你的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
  1. 修改腳本中的APP_NAME、APP_DIR、NODE_EXECUTABLEENTRY_POINT變量,使其與你的Node.js應用相匹配。

  2. 為腳本添加可執行權限:

chmod +x start-app.sh
  1. 使用以下命令啟動、停止和重啟你的Node.js應用:
./start-app.sh start
./start-app.sh stop
./start-app.sh restart
  1. 若要讓此腳本在系統啟動時自動運行,可以將其添加到/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

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女