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


相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1099 87
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1516 0
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
496 14
|
Linux 编译器 开发工具
在CentOS上编译安装TinyXml2
以上就是在CentOS上编译安装TinyXml2的步骤。这个过程可能看起来有些复杂,但是只要你按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,你可以查阅相关的文档,或者在网上搜索解决方案。记住,编程就是一个不断学习和解决问题的过程,不要因为遇到困难就放弃。
291 27
|
Linux 开发工具 C语言
在CentOS系统中编译安装TinyXml2的方法
以上就是在CentOS系统中编译安装TinyXml2的方法。这个过程可能会有些复杂,但只要你按照上面的步骤一步一步来,你应该能够成功地完成这个任务。如果你在这个过程中遇到任何问题,你可以在网上搜索相关的资料,或者在相关的论坛上寻求帮助。希望这个指南能够帮助你成功地在你的CentOS系统中编译安装TinyXml2。
396 22
|
Linux Python
centos 编译安装 python 和 openssl
centos 编译安装 python 和 openssl
957 3
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1626 25
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
2288 13
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
15617 1
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
1583 2