在安裝完nginx后,要用/usr/local/nginx/sbin/nginx來啟動nginx,顯然十分不方便。如果能像apache一樣,直接通過腳本進行管理就方便多了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig:?? - 85 15 # description:? Nginx is an HTTP(S) server, HTTP(S) reverse \ #?????????????? proxy and IMAP/POP3 proxy server # processname: nginx # config:????? /etc/nginx/nginx.conf # config:????? /etc/sysconfig/nginx # pidfile: ? /var/run/nginx/nginx.pid ? # Source function library. . /etc/rc .d /init .d /functions ? # Source networking configuration. . /etc/sysconfig/network ? # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 ? nginx= "/usr/local/nginx/sbin/nginx" prog=$( basename $nginx) ? NGINX_CONF_FILE= "/etc/nginx/nginx.conf" ? [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx ? lockfile= /var/lock/subsys/nginx ? make_dirs() { ??? # make required directories ??? user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` ??? if [ -z "`grep $user /etc/passwd`" ]; then ??????? useradd -M -s /bin/nologin $user ??? fi ??? options=`$nginx -V 2>&1 | grep 'configure arguments:' ` ??? for opt in $options; do ??????? if [ ` echo $opt | grep '.*-temp-path' ` ]; then ??????????? value=` echo $opt | cut -d "=" -f 2` ??????????? if [ ! -d "$value" ]; then ??????????????? # echo "creating" $value ??????????????? mkdir -p $value && chown -R $user $value ??????????? fi ??????? fi ??? done } ? start() { ???? [ -x $nginx ] || exit 5 ???? [ -f $NGINX_CONF_FILE ] || exit 6 ???? make_dirs ???? echo -n $ "Starting $prog: " ???? daemon $nginx -c $NGINX_CONF_FILE ???? retval=$? ???? echo ???? [ $retval - eq 0 ] && touch $lockfile ???? return $retval } ? stop() { ???? echo -n $ "Stopping $prog: " ???? killproc $prog -QUIT ???? retval=$? ???? echo ???? [ $retval - eq 0 ] && rm -f $lockfile ???? return $retval } ? restart() { ???? configtest || return $? ???? stop ???? sleep 1 ???? start } ? reload() { ???? configtest || return $? ???? echo -n $ "Reloading $prog: " ???? killproc $nginx -HUP ???? RETVAL=$? ???? echo } ? force_reload() { ???? restart } ? configtest() { ?? $nginx -t -c $NGINX_CONF_FILE } ? rh_status() { ???? status $prog } ? rh_status_q() { ???? rh_status > /dev/null 2>&1 } ? case "$1" in ???? start) ???????? rh_status_q && exit 0 ???????? $1 ???????? ;; ???? stop) ???????? rh_status_q || exit 0 ???????? $1 ???????? ;; ???? restart|configtest) ???????? $1 ???????? ;; ???? reload) ???????? rh_status_q || exit 7 ???????? $1 ???????? ;; ???? force-reload) ???????? force_reload ???????? ;; ???? status) ???????? rh_status ???????? ;; ???? condrestart|try-restart) ???????? rh_status_q || exit 0 ???????????? ;; ???? *) ???????? echo $ "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" ???????? exit 2 esac |
保存后,就可以通過該腳本對nginx服務進行管理了:
$ /etc/init.d/nginx start $ /etc/init.d/nginx stop $ /etc/init.d/nginx reload ...
使用chkconfig進行管理
上面的方法完成了用腳本管理nginx服務的功能,但是還是不太方便,比如要設置nginx開機啟動等。這時可以使用chkconfig來設置。
先將nginx服務加入chkconfig管理列表:
chkconfig --add /etc/init.d/nginx
加完這個之后,就可以使用service對nginx進行啟動,重啟等操作了。
$ service nginx start $ service nginx stop $ service nginx reload ...
設置終端模式開機啟動:
$ chkconfig --level 3 nginx on
原創文章,作者:nene,如若轉載,請注明出處:http://www.www58058.com/88096