1)首先需要安裝 sysv-rc-conf
先更新一下 :
sudo apt-get update
然后:
apt install sysv-rc-conf
輸入下載命令,下載好了,中間需要輸入 y 確認命令
2)設置nginx開機啟動:
我們自己編譯安裝的NGINX在/etc/init.d/下並沒有管理腳本,所以我們現在還無法為NGINX設置自啟動項,我們得先為NGINX在/etc/init.d/下創建一個啟動腳本。
vi /etc/init.d/nginx
內容如下:
#! /bin/sh # chkconfig: 2345 55 25 # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and # run 'update-rc.d -f nginx defaults', or use the appropriate command on your # distro. For CentOS/Redhat run: 'chkconfig --add nginx' ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO # Author: licess # website: http://lnmp.org PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=nginx NGINX_BIN=/usr/local/nginx/sbin/$NAME CONFIGFILE=/usr/local/nginx/conf/$NAME.conf PIDFILE=/usr/local/nginx/logs/$NAME.pid case "$1" in start) echo -n "Starting $NAME... " if netstat -tnpl | grep -q nginx;then echo "$NAME (pid `pidof $NAME`) already running." exit 1 fi $NGINX_BIN -c $CONFIGFILE if [ "$?" != 0 ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Stoping $NAME... " if ! netstat -tnpl | grep -q nginx; then echo "$NAME is not running." exit 1 fi $NGINX_BIN -s stop if [ "$?" != 0 ] ; then echo " failed. Use force-quit" exit 1 else echo " done" fi ;; status) if netstat -tnpl | grep -q nginx; then PID=`pidof nginx` echo "$NAME (pid $PID) is running..." else echo "$NAME is stopped" exit 0 fi ;; force-quit) echo -n "Terminating $NAME... " if ! netstat -tnpl | grep -q nginx; then echo "$NAME is not running." exit 1 fi kill `pidof $NAME` if [ "$?" != 0 ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop sleep 1 $0 start ;; reload) echo -n "Reload service $NAME... " if netstat -tnpl | grep -q nginx; then $NGINX_BIN -s reload echo " done" else echo "$NAME is not running, can't reload." exit 1 fi ;; configtest) echo -n "Test $NAME configure files... " $NGINX_BIN -t ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}" exit 1 ;; esac
保存成功之后我們要對這個管理腳本設置一個權限:
chmod +x /etc/init.d/nginx
接下來我們可以看看這個腳本能否正確執行:
/etc/init.d/nginx restart #這個管理腳本支持的命令有start|stop|force-quit|restart|reload|status|configtest
如果沒有錯誤能正確執行,那我們可以開始把他加入啟動項了:
sysv-rc-conf --list #我們先查看一下list中有沒有我們剛剛加進去的這個nginx管理腳本
sysv-rc-conf nginx on #然后用這個命令添加開機自啟動
參考:
Ubuntu安裝sysv-rc-conf安裝使用報錯 E: Unable to locate package sysv-rc-conf