一、软件配置信息
CentOS 6.5
二、必要软件准备
检查安装pcre,openssl,gzip命令如下:
1
|
yum install -y zlib zlib-devel pcre pcre-devel openssl openssl-devel
|
三、创建Nginx用户与组
1
2
|
[root@localhost src]# groupadd nginx
[root@localhost src]# useradd -r -g nginx -s /sbin/nologin -M nginx
|
四、下载解压
Nginx可以从官网下载:http://nginx.org/
也可以通过命令直接下载,我的当前目录是/usr/local/src:
1
|
[root@localhost src]# wget http:
//nginx.org/download/nginx-1.10.1.tar.gz
|
解压:
1
|
[root@localhost src]# tar zxvf nginx-
1.10
.
1
.tar.gz
|
五、开始安装
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
|
[root@localhost src]# cd nginx-
1.10
.
1
[root@localhost nginx-
1.10
.
1
]# ./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/
var
/log/nginx/error.log --http-log-path=/
var
/log/nginx/access.log --pid-path=/
var
/run/nginx.pid --lock-path=/
var
/run/nginx.lock --http-client-body-temp-path=/
var
/cache/nginx/client_temp --http-proxy-temp-path=/
var
/cache/nginx/proxy_temp --http-fastcgi-temp-path=/
var
/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/
var
/cache/nginx/uwsgi_temp --http-scgi-temp-path=/
var
/cache/nginx/scgi_temp --user=nginx --group=nginx --
with
-http_ssl_module --
with
-http_realip_module --
with
-http_addition_module --
with
-http_sub_module --
with
-http_dav_module --
with
-http_flv_module --
with
-http_mp4_module --
with
-http_gunzip_module --
with
-http_gzip_static_module --
with
-http_random_index_module --
with
-http_secure_link_module --
with
-http_stub_status_module --
with
-http_auth_request_module --
with
-file-aio --
with
-http_spdy_module --
with
-ipv6 --
with
-pcre
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/
var
/log/nginx/error.log \
--http-log-path=/
var
/log/nginx/access.log \
--pid-path=/
var
/run/nginx.pid \
--lock-path=/
var
/run/nginx.lock \
--http-client-body-temp-path=/
var
/cache/nginx/client_temp \
--http-proxy-temp-path=/
var
/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/
var
/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/
var
/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/
var
/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--
with
-http_ssl_module \
--
with
-http_realip_module \
--
with
-http_addition_module \
--
with
-http_sub_module \
--
with
-http_dav_module \
--
with
-http_flv_module \
--
with
-http_mp4_module \
--
with
-http_gunzip_module \
--
with
-http_gzip_static_module \
--
with
-http_random_index_module \
--
with
-http_secure_link_module \
--
with
-http_stub_status_module \
--
with
-http_auth_request_module \
--
with
-file-aio \
--
with
-http_spdy_module \
--
with
-ipv6 \
--
with
-pcre
[root@localhost nginx-
1.10
.
1
]# make
[root@localhost nginx-
1.10
.
1
]# make install
|
六、启动停止
启动命令:
1
|
[root@localhost nginx-
1.10
.
1
]# /usr/sbin/nginx
|
测试,直接用curl命令读取web信息:
1
|
[root@localhost
1.10
.
1
]# curl -s http:
//localhost | grep nginx.com
|
关闭命令:
1
2
3
|
[root@localhost nginx-
1.10
.
1
]# /usr/sbin/nginx -s stop
reload,当你修改配置时,用此命令不用再重启就生效了:
[root@localhost nginx-
1.10
.
1
]# /usr/sbin/nginx -s reload
|
七、配置Nginx为系统服务
添加如下文件:
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
130
131
|
vi /etc/init.d/nginx
#!/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.conf
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /
var
/run/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/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE=
"/usr/local/nginx/conf/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
|
-
修改文件权限:
1
|
chmod +x /etc/init.d/nginx
|
查看Nginx服务:
1
2
|
chkconfig --list nginx
nginx
0
:off
1
:off
2
:on
3
:on
4
:on
5
:on
6
:off
|
qianghong000