一、安装依赖库
yum install -y gcc-c++
yum install -y openssl openssl-devel
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
如果有些依赖已经安装过了,可以按需选择是否卸载重装。
检查是否已安装:
rpm -qa | grep openssl
卸载:
sudo yum remove openssl
如果无法yum安装,可以尝试下载离线包
nginx:http://nginx.org/en/download.html (版本:nginx-1.16.1 tar.gz)
pcre:https://sourceforge.net/projects/pcre/files/pcre/8.41/(版本:pcre-8.41.tar.gz)
zlib:http://www.zlib.net/(版本:zlib-1.2.11.tar.gz)
oppenssl:https://www.openssl.org/source/(版本:openssl-1.1.1g.tar.gz)
二、:安装ngixn-1.20.1版本
--with-stream是安装stream模块
wget https://nginx.org/download/nginx-1.20.1.tar.gz
tar zxf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-stream_ssl_module --with-file-aio --with-http_realip_module
然后执行make
再执行make install
四:安装启动nginx
我的安装路径是/usr/local/nginx
启动命令:/usr/local/nginx/sbin/nginx
重启:/usr/local/nginx/sbin/nginx -s reload
检查语法:/usr/local/nginx/sbin/nginx -t
软连接:ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
创建软连接后就可以通过nginx直接执行命令了,不需要全路径了
五、nginx新增模块
先通过nginx -V命令查看已有模块
然后前往nginx安装目录,找到configure文件,执行以下命令,下面是增加stream模块,其他模块为原来就有的
./configure --with-http_stub_status_module --with-http_ssl_module --with-stream
make
将当前objs目录中的nginx文件覆盖到/usr/local/nginx/sbin目录下的同文件(覆盖前可以先备份一下)
覆盖完重启即可
六、问题
1、新增stream模块之后配置stream转发,启动或者日志报错unknown directive "stream",这个报错原因是找不到ngx_stream_module.so依赖,可以在第五步的objs目录下找到这个文件,重新编译stream模块,改成dynamic,--with-stream=dynamic,并且nginx的配置文件首行加上load_module /usr/local/nginx/modules/ngx_stream_module.so;