CentOS7编译安装nginx-1.8.1和编译参数

简介:

Web服务器Nginx

    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也指 Mariadb)组合成一个高性能、轻量、稳定、扩展性强的Web网站服务器架构环境。

    Nginx ("engine x") 作为Web服务器软件,是一个轻量级、高性能的HTTP和反向代理服务器,负 载均衡服务器,及电子邮件IMAP/POP3/SMTP 服务器。Nginx性能稳定、功能丰富、运维简单、效率高 、并发能力强、处理静态文件速度快且消耗系统资源极少。


Nginx的版本

    Nginx版本分为主线版和稳定版,主线版更新速度较快,从官网上看大约一个月更新1-2次,目前 最新主线版已更新到nginx-1.9.10,而官方宣布的最新稳定版则是nginx-1.8.1,and本文就以1.8.1 版为例演示其在CentOS7上的安装和配置过程。Nginx官方网站http://nginx.org/。


Nginx的依赖程序

1、zlib:用于支持gzip模块

2、pcre:用于支持rewrite模块

3、openssl:用于支持ssl功能

使用yum安装zlib、pcre、openssl软件包

1
[root@www ~] # yum install zlib pcre pcre-devel openssl openssl-devel


Nginx-1.8.1的安装

step1:创建nginx用户

创建一个nginx的运行用户

1
2
3
[root@www ~] # useradd -s /sbin/nologin nginx
[root@www ~] # id nginx
uid=1000(nginx) gid=1001(nginx)  groups =1001(nginx)


step2:Nginx编译参数

--user             指定启动程序所属用户

--group          指定组

--prefix           指定安装路径

--sbin-path     设置nginx二进制文件的路径名

--conf-path     指定配置文件路径

--error-log-path    错误日志文件路径

--http-log-path     指定访问日志文件路径

--http-client-body-temp-path    设置存储HTTP客户端请求主体的临时文件路径

--http-proxy-temp-path             设置存储HTTP代理临时文件的路径

--http-fastcgi-temp-path           设置存储HTTP fastcgi的临时文件的路径

--pid-path          设置nginx.pid文件路径

--lock-path         设置nginx.lock文件路径

--with-openssl    启用SSL

--with-pcre         启用正则表达式

--with-http_stub_status_module    安装可以监控nginx状态的模块

--with-http_ssl_module                 启用SSL支持

--with-http_gzip_static_module    启用gzip压缩


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@www nginx-1.8.1] # ./configure \
--user=nginx \
--group=nginx \
--prefix= /opt/nginx  \
--sbin-path= /usr/sbin/nginx  \
--conf-path= /etc/nginx/nginx .conf \
--error-log-path= /var/log/nginx/error .log \
--http-log-path= /var/log/nginx/access .log \
--http-client-body-temp-path= /tmp/nginx/client_body  \
--http-proxy-temp-path= /tmp/nginx/proxy  \
--http-fastcgi-temp-path= /tmp/nginx/fastcgi  \
--pid-path= /var/run/nginx .pid \
--lock-path= /var/lock/subsys/nginx  \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-pcre \
--with-http_realip_module \
--with-http_sub_module

wKiom1at9_ag4x_LAABXk3WxLb4920.png

1
2
[root@www nginx-1.8.1] # make
[root@www nginx-1.8.1] # make install


make安装完成使用nginx -V 查看版本和编译参数

1
2
3
4
5
6
[root@www nginx-1.8.1] # nginx -V 
nginx version: nginx /1 .8.1
built by gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix= /opt/nginx  --sbin-path= /usr/sbin/nginx  --conf-path= /etc/nginx/nginx .conf --error-log-path= /var/log/nginx/error .log --http-log-path= /var/log/nginx/access .log --http-client-body-temp-path= /tmp/nginx/client_body  --http-proxy-temp-path= /tmp/nginx/proxy  --http-fastcgi-temp-path= /tmp/nginx/fastcgi  --pid-path= /var/run/nginx .pid --lock-path= /var/lock/subsys/nginx  --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-http_sub_module

查看ngin进程和端口号

1
2
[root@www ~] # netstat -ntlp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4415 /nginx : master


step3:控制nginx服务的命令

1、启动:nginx

2、停止:nginx -s stop

3、退出:nginx -s quit

4、重启:nginx -s reopen

5、重新加载:nginx -s reload

6、平滑启动:kill -HUP pid(kill -HUP `cat /var/run/nginx.pid`)


step4:创建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
#!/bin/bash
# chkconfig: - 18 21
# description: http service.
# Source Function Library
/etc/init .d /functions
# Nginx Settings
 
NGINX_SBIN= "/usr/sbin/nginx"
NGINX_CONF= "/etc/nginx/nginx.conf"
NGINX_PID= "/var/run/nginx.pid"
RETVAL=0
prog= "Nginx"
 
#Source networking configuration
/etc/sysconfig/network
# Check networking is up
[ ${NETWORKING} =  "no"  ] &&  exit  0
[ -x $NGINX_SBIN ] ||  exit  0
 
start() {
         echo  -n $ "Starting $prog: "
         touch  /var/lock/subsys/nginx
         daemon $NGINX_SBIN -c $NGINX_CONF
         RETVAL=$?
         echo
         return  $RETVAL
}
 
stop() {
         echo  -n $ "Stopping $prog: "
         killproc -p $NGINX_PID $NGINX_SBIN -TERM
         rm  -rf  /var/lock/subsys/nginx  /var/run/nginx .pid
         RETVAL=$?
         echo
         return  $RETVAL
}
 
reload(){
         echo  -n $ "Reloading $prog: "
         killproc -p $NGINX_PID $NGINX_SBIN -HUP
         RETVAL=$?
         echo
         return  $RETVAL
}
 
restart(){
         stop
         start
}
 
configtest(){
     $NGINX_SBIN -c $NGINX_CONF -t
     return  0
}
 
case  "$1"  in
   start)
         start
         ;;
   stop)
         stop
         ;;
   reload)
         reload
         ;;
   restart)
         restart
         ;;
   configtest)
         configtest
         ;;
   *)
         echo  $ "Usage: $0 {start|stop|reload|restart|configtest}"
         RETVAL=1
esac
 
exit  $RETVAL

设置开机启动

1
2
3
4
5
6
7
[root@www ~] # chmod 755 /etc/init.d/nginx
[root@www ~] # chkconfig --add nginx
[root@www ~] # chkconfig nginx on
[root@www ~] # service nginx stop
Stopping nginx (via systemctl):                            [  OK  ]
[root@www ~] # service nginx start
Starting nginx (via systemctl):                            [  OK  ]



设置防火墙规则,允许外部访问80端口

1
2
[root@www ~] # firewall-cmd --permanent --add-port=80/tcp
[root@www ~] # firewall-cmd --reload


step5:测试访问

在浏览器输入http://Your-IP/

wKioL1auDh6hO_3HAABi7VcVaEU221.png


本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1740244


相关文章
|
10天前
|
应用服务中间件 Linux 网络安全
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
14 0
|
1月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
144 3
|
2月前
|
Linux 应用服务中间件 网络安全
CentOS7搭建本地离线局域网yum源(Httpd/Nginx+yum)
CentOS7搭建本地离线局域网yum源(Httpd/Nginx+yum)
293 0
|
2月前
|
缓存 负载均衡 应用服务中间件
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
68 1
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
|
10天前
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
23 2
|
2月前
|
关系型数据库 MySQL Linux
Azkaban【部署 02】CentOS release 7.5安装配置azkaban-3.70.0安装阶段(含已编译的10个安装文件:可直接进行安装)
【2月更文挑战第5天】CentOS release 7.5安装配置azkaban-3.70.0安装阶段(含已编译的10个安装文件:可直接进行安装)
48 7
|
2月前
|
NoSQL Linux Redis
基于centos7.7编译Redis6.0
基于centos7.7 源码编译redis-6.0.6记录
156 2
|
2月前
|
Java Linux 开发工具
Azkaban【部署 01】Linux环境 CentOS Linux release 7.5.1804安装配置azkaban-3.70.0编译阶段(附安装包及gradle-4.6资源)
【2月更文挑战第4天】Linux环境 CentOS Linux release 7.5.1804安装配置azkaban-3.70.0编译阶段(附安装包及gradle-4.6资源)
30 1
|
2月前
|
存储 Linux 应用服务中间件
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
120 1
|
3月前
|
Linux C语言
centos 7 下使用高版本gcc编译安装
centos 7 下使用高版本gcc编译安装
113 0

热门文章

最新文章