详解Centos7 源码编译安装 Nginx1.13
本文详细讲解了如何在Centos7上通过源码编译的方式安装Nginx1.13,从而获得最新版本的Nginx并自定义配置启用各种功能,同时还能够加深对Nginx的理解,方便进一步进行二次开发。
环境准备
首先需要确保Centos7系统正常运行,并且已安装了必要的依赖包。如果没有,则需要提前安装。
yum install gcc gcc-c++ autoconf automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载源码
前往Nginx官网(https://nginx.org/)下载最新版的Nginx源码包,以nginx-1.13.0.tar.gz为例。
wget https://nginx.org/download/nginx-1.13.0.tar.gz
解压源码
将下载的源码包nginx-1.13.0.tar.gz解压到指定的目录,比如/usr/src/。
tar -zxvf nginx-1.13.0.tar.gz -C /usr/src/
进入目录
进入解压后的目录,比如/usr/src/nginx-1.13.0/。
cd /usr/src/nginx-1.13.0/
配置参数
执行下面的configure命令来配置Nginx的一些参数,比如指定安装目录、启用指定的模块等等。
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-openssl \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-file-aio \
--with-threads \
--with-stream \
--with-stream_ssl_module
-
--prefix=/usr/local/nginx:指定Nginx安装到/usr/local/nginx目录。
-
--with-http_stub_status_module:启用HTTP状态监控模块。
-
--with-http_ssl_module:启用HTTPS支持模块。
-
--with-pcre:启用PCRE正则表达式引擎。
-
--with-openssl:启用OpenSSL加密库。
-
--with-http_realip_module:启用真实IP模块。
-
--with-http_gzip_static_module:启用静态Gzip压缩模块。
-
--with-file-aio:启用高效异步文件IO模块。
-
--with-threads:启用线程池模块。
-
--with-stream:启用TCP/UDP流媒体模块。
-
--with-stream_ssl_module:启用TCP/UDP SSL模块。
如果需要启动其他模块,可以加入其他参数来实现自定义配置。
编译源码
执行make命令来编译源码。
make
安装Nginx
执行make install命令来安装编译后的Nginx程序。
make install
启动Nginx
执行下面的命令来启动Nginx。
/usr/local/nginx/sbin/nginx
示例说明
启用HTTP2
在配置参数时添加--with-http_v2_module参数,即可启用HTTP2协议。
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-openssl \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-file-aio \
--with-threads \
--with-stream \
--with-stream_ssl_module \
--with-http_v2_module
配置反向代理
在Nginx配置文件/usr/local/nginx/conf/nginx.conf中添加如下配置来实现反向代理。
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
其中,http://127.0.0.1:8080代表要代理的服务器地址和端口。这样配置后,Nginx会将所有访问自己的请求转发到指定的服务器上去。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Centos7 源码编译安装 Nginx1.13 - Python技术站