一般情况我们通过yum
安装就行了, 但有些时候, 我们想使用最新的nginx
特性, 或者我们希望使用新的扩展, 比如说支持HTTP/2
, 这个时候就需要编译安装
一. 安装扩展
1. 安装 pcre, 这是为了支持 rewrite 功能
yum install pcre pcre-devel -y
2. 安装openssl
yum install openssl openssl-devel -y
如果希望支持
HTTP/2
, 就必须使用openssl 1.0.2
以上的版本, 一般系统yum
源都没有这么高的版本, 所以需要从官网下载源码安装
cd /opt
# 下载
wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
# 解压
tar -zxvf openssl-1.0.2k.tar.gz
3. 安装gzip
yum install zlib zlib-devel -y
当然, 如果大家不想安通过yum安装, 也可以自行编译安装
二. 安装nginx
将nginx的压缩包放在 /opt
目录下, 这个根据个人的习惯处理
cd /opt
# 下载
wget http://nginx.org/download/nginx-1.11.12.tar.gz
# 解压
tar -zxvf nginx-1.11.12.tar.gz
cd nginx-1.11.12
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-pcre \
--with-stream \
--with-http_v2_module \
--with-http_ssl_module \
--with-openssl=/opt/openssl-1.0.2k
make && make install
其中几个参数的含义
--with-http_stub_status_module 支持nginx状态查询
--with-pcre 支持rewrite重写功能
--with-stream 支持TCP协议
--with-http_ssl_module 支持https
--with-http_v2_module 支持http2
--with-openssl 指定openssl源码位置
三. 使用
# 添加软连接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# 启动
nginx
# 关闭
nginx -s stop
# 重启
nginx -s reload
四. 注意点
- 如果openssl版本在
1.0.2
之前, 就算能编译成功也不支持HTTP/2
- 如果最新版本的
openssl
, 比如说版本1.1.0
, 因为由于去掉了以前的一些旧方法, 会编译不通过, 不知道后续的nginx
会不会修复此类问题 -
nginx
版本必须是1.9.5
之后, 否则不支持HTTP/2
扩展 - 如果之前有安装了
nginx
, 重新编译扩展之后, 需要按下面方法使之生效
一定要这样
nginx -s stop
nginx
千万不要重启, 切记!
nginx -s reload
网友评论