Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

將 Nginx 註冊為系統服務:標準 init.d 腳本、chkconfig 整合、start/stop/restart/reload 操作

編輯:Linux 教學

Nginx 編譯安裝後無系統服務腳本,建立 /etc/init.d/nginx 並 chmod +x:

#!/bin/sh
# chkconfig: - 85 15
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Nginx Daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME

test -x $DAEMON || exit 0

d_start() { $DAEMON || echo -n "already running"; }
d_stop() { $DAEMON -s quit || echo -n "not running"; }
d_reload() { $DAEMON -s reload || echo -n "could not reload"; }

case "$1" in
  start) echo -n "Starting $DESC: $NAME"; d_start; echo "." ;;
  stop) echo -n "Stopping $DESC: $NAME"; d_stop; echo "." ;;
  reload) echo -n "Reloading $DESC: configuration..."; d_reload; echo "reloaded." ;;
  restart) echo -n "Restarting $DESC: $NAME"; d_stop; sleep 3; d_start; echo "." ;;
  *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2; exit 3 ;;
esac
exit 0

關鍵細節

  • # chkconfig: - 85 15 中 - 與 85 必須有空格,否則 chkconfig 無法識別。
  • 使用 quit 信號 (優雅停止) 而非 stop (TERM 信號立即停止)。

使用方式

service nginx start|stop|restart|reload
# 或
/etc/init.d/nginx start|stop|restart|reload
chkconfig --add nginx
chkconfig nginx on
Copyright © Windows教程網 All Rights Reserved