编译安装Nginx

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译安装Nginx相关的知识,希望对你有一定的参考价值。

如果要安装nginx,可以使用yum或者rpm来安装,但需要配置epel源才能安装。本文主要演示Nginx的编译安装过程。


系统环境:

主机:192.168.10.7 (CentOS 7)


一、安装Nginx所依赖到的程序包所对应的开发包


这里的开发包指的是以"devel"结尾的程序包,为了让Nginx支持URI重写、SSL、zlib压缩功能,则需要分别需要安装pcre-devel、openssl-devel、zlib-devel。

[[email protected] ~]# yum -y install pcre-devel openssl-devel zlib-devel


注意:pcre的全称为perl compatible regular expressions,意为“perl兼容正则表达式”。这里选择安装pcre-devel是为了使Nginx能够支持URI重写功能的rewrite模块,而URI重写是非常常用的功能。pcre的官网为http://www.pcre.org/。


二、编译安装Nginx


Nginx的官网为http://nginx.org/,本文以编译安装nginx-1.10.3为例。

[[email protected] ~]# tar xf nginx-1.10.3.tar.gz
[[email protected] nginx-1.10.3]# cd nginx-1.10.3
[[email protected] nginx-1.10.3]# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf 
--user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var
/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock 
--with-http_ssl_module --with-http_gzip_static_module --with-debug --with-http_stub_status_module
[[email protected] nginx-1.10.3]# make -j 4 && make install
[[email protected] nginx-1.10.3]# ll /usr/local/nginx/
total 0
drwxr-xr-x. 2 root root 40 Jul 17 10:52 html
drwxr-xr-x. 2 root root 19 Jul 17 10:52 sbin


导出nginx程序文件路径。

[[email protected] ~]# vim /etc/profile.d/nginx.sh
export PATH=/usr/local/nginx/sbin:$PATH    # 修改PATH环境变量
[[email protected] ~]# . /etc/profile.d/nginx.sh
[[email protected] ~]# echo $PATH            # 查看修改后的PATH变量
/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


下面是本次编译使用的参数说明(可用./configure --help查看)。

--prefix=PATH                    set installation prefix        # 设置安装目录路径
--conf-path=PATH                 set nginx.conf pathname        # 设置配置文件路径名
--user=USER                      set non-privileged user for    # nginx进程的用户权限
--group=GROUP                    set non-privileged group for   # nginx进程的用户组权限
--error-log-path=PATH            set error log pathname         # 设置错误日志路径名
--http-log-path=PATH             set http access log pathname   # 设置访问日志路径名
--pid-path=PATH                  set nginx.pid pathname         # 设置nginx进程的pid文件路径名
--lock-path=PATH                 set nginx.lock pathname        # 设置nginx进程的锁文件路径名
--with-http_ssl_module           enable ngx_http_ssl_module     # 启用ssl功能
--with-http_gzip_static_module   enable ngx_http_gzip_static_module
                                                                # 启用gzip压缩功能
--with-http_stub_status_module   enable ngx_http_stub_status_module
                                                                # 启用状态信息输出功能
--with-debug                     enable debug logging           # 启用日志排错功能

如果要查看当前使用的Nginx程序在编译时使用的参数,可使用-V选项。

[[email protected] ~]# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf 
--user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var
/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock 
--with-http_ssl_module --with-http_gzip_static_module --with-debug --with-http_stub_status_module


三、启动服务并测试


安装完Nginx之后还无法提供web服务,需要启动Nginx才行,具体操作如下。


(1)启动前需要检查nginx配置文件的语法。

[[email protected] ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


注意:启动前检查配置文件的语法错误很重要,可以防止因为配置错误而导致网站重启或重载配置文件等对用户的影响。


(2)启动服务。

[[email protected] ~]# nginx


(3)查看nginx服务对应的端口是否启动。

[[email protected] ~]# ss -tnl | egrep "^State|80"
State      Recv-Q Send-Q          Local Address:Port            Peer Address:Port
LISTEN     0      128                         *:80                         *:*
[[email protected] ~]# lsof -i :80
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   16078  root    6u  IPv4 268024      0t0  TCP *:http (LISTEN)
nginx   16079 nginx    6u  IPv4 268024      0t0  TCP *:http (LISTEN)


(4)浏览Nginx提供的web页面。

在Windows下打开浏览器,输入http://192.168.10.7(192.168.10.7为刚才安装Nginx服务的IP地址)。回车后可看到如下内容。

技术分享

说明Nginx服务搭建成功了。


注意:在本次测试中selinux和iptables是关闭的。



本文出自 “Tab” 博客,请务必保留此出处http://xuweitao.blog.51cto.com/11761672/1948158

以上是关于编译安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章

源码编译三部曲(以nginx示例)

源码编译三部曲(以nginx示例)

Nginx编译安装

云计算days7----编译安装nginx

安装nginx的时候,是怎么编译老出错啊

从nginx的编译安装,了解编译安装原理(转)