官方下载地址:http://nginx.org/en/download.html
有3种版本可以选择:
Mainline version:主线版本,相当于开发版
Stable version:最新稳定版本
Legacy versions:历史稳定版本
官方配置示例:
./configure
--sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-http_ssl_module
--with-pcre=../pcre-8.41
--with-zlib=../zlib-1.2.11
with-http_ssl_module:支持 https,需要安装 OpenSSL 或源码包
with-pcre:PCRE是一个正则库,ngx_http_rewrite_module模块依赖,匹配rewrite规则时会用到。
with-zlib:[ngx_http_gzip_module]依赖,服务端的gzip压缩。
#安装依赖包
OpenSSL
官方下载地址:https://www.openssl.org/source/
PCRE
官方下载地址:http://www.pcre.org/
注意有两个大版本:8.x和10.x,我最开始下了一个10.x的版本,编译失败了,可能8.x和10.x的接口并不兼容,而且nginx依赖的是8.x。所以这里选择了 pcre-8.42.tar.gz。是8.x的最高版本,也和示例中的版本一致。
zlib
官方下载地址:http://zlib.net/
#配置
$ cd nginx-1.14.0
$ sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11
异常:
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.
原因:
--with-openssl指定nginx ssl模块依赖的ssl库
只使用--with-http_ssl_modulel表示启动nginx的ssl模块(依赖openssl库,如果没有使用 with-openssl 指定源码位置则使用系统自带的openssl),通常两个一起使用
解决办法:
#配置中新增 --with-openssl 选项
$ sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=../openssl-1.1.0h --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11
#编译
$ make
#安装
$ make install
#添加软链接
$ ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
#查看nginx版本
$ nginx -v
#启动nginx
$ /usr/local/nginx/sbin/nginx
#重启nginx
$ /usr/local/nginx/sbin/nginx -s reload
或者nginx -s reload
#停止nginx
$ /usr/local/nginx/sbin/nginx -s stop
或者nginx -s stop
#浏览器中访问:http://localhost/
有3种版本可以选择:
Mainline version:主线版本,相当于开发版
Stable version:最新稳定版本
Legacy versions:历史稳定版本
官方配置示例:
./configure
--sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-http_ssl_module
--with-pcre=../pcre-8.41
--with-zlib=../zlib-1.2.11
with-http_ssl_module:支持 https,需要安装 OpenSSL 或源码包
with-pcre:PCRE是一个正则库,ngx_http_rewrite_module模块依赖,匹配rewrite规则时会用到。
with-zlib:[ngx_http_gzip_module]依赖,服务端的gzip压缩。
#安装依赖包
OpenSSL
官方下载地址:https://www.openssl.org/source/
PCRE
官方下载地址:http://www.pcre.org/
注意有两个大版本:8.x和10.x,我最开始下了一个10.x的版本,编译失败了,可能8.x和10.x的接口并不兼容,而且nginx依赖的是8.x。所以这里选择了 pcre-8.42.tar.gz。是8.x的最高版本,也和示例中的版本一致。
zlib
官方下载地址:http://zlib.net/
#配置
$ cd nginx-1.14.0
$ sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11
异常:
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.
原因:
--with-openssl指定nginx ssl模块依赖的ssl库
只使用--with-http_ssl_modulel表示启动nginx的ssl模块(依赖openssl库,如果没有使用 with-openssl 指定源码位置则使用系统自带的openssl),通常两个一起使用
解决办法:
#配置中新增 --with-openssl 选项
$ sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=../openssl-1.1.0h --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11
#编译
$ make
#安装
$ make install
#添加软链接
$ ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
#查看nginx版本
$ nginx -v
#启动nginx
$ /usr/local/nginx/sbin/nginx
#重启nginx
$ /usr/local/nginx/sbin/nginx -s reload
或者nginx -s reload
#停止nginx
$ /usr/local/nginx/sbin/nginx -s stop
或者nginx -s stop
#浏览器中访问:http://localhost/