CentOS 6.5 源码安装Nginx

一、软件配置信息

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. 修改文件权限:

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
本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1846511如需转载请自行联系原作者

qianghong000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值