注意:nginx版本必须大于1.9,因为官方是在1.9版本之后加入stream的,所以下载的时候要注意版本号
本次测试之前,原有的nignx并未停止,但对接下来的所有操作都没有影响,但建议停止一下
./nginx -s stop
温馨提示:如果你的项目已经在线上运行了,请不要直接在线上直接进行操作,因为你的nginx在此之前可能做了其他的一些配置,可能会导致出一些问题,请在测试机上跑一遍。
1、nginx下载地址
http://nginx.org/download/
2、下载完成之后,将.tar.gz文件放在/home下,然后进行解压
tar -zxvf nginx-{version}.tar.gz
3、进入到刚刚解压的nginx源码目录下
cd nginx-{version}
4、nginx默认安装的路径是/usr/local/nginx,使用--prefix来指定安装目录
因为我们要开启stream模块,所以在指定安装路径后,再加上开启stream模块的指令。
注意:亲测结果:把--prefix的地址,直接修改为原先的地址,也就是你以前安装的地址在/home/nginx/nginx目录下,那么你现在也是这个路径,因为nginx在重新安装编译后会直接在此基础上进行升级,你原有的nginx.conf配置文件不会被覆盖掉,内容会原样保留。
./configure --prefix=/home/nginx --with-stream
--prefix=/home/nginx
用于指定安装路径,/home/nginx 是你想将nginx安装的路径,自定义即可。
--with-stream
开启nginx stream模块,这样后续就可以使用了
5、执行make编译源代码
注意这里执行make还是在nginx-{version}目录下
make
6、执行sudo make install 来安装编译后的nginx
sudo make install
到此为止,开启stream模块就结束了。验证结果如下:
来看看有什么变化
1、进入到sbin目录下
上图所示,会发现多出了一个nginx.old,这个nginx.old文件就是上一个版本的nginx的二进制可执行文件了,nginx就是我们最新安装的。
2、来看下图两个执行文件的差异
旧版本执行./nginx.old -V
新版本执行./nginx -V
会发现,现在新版本的nginx已经有了stream模块了。
3、加入stream模块的nginx配置试一试,看看是否会报错,因为如果在nginx没有开启nginx stream模块时,加入stream模块配置会出现报错。
此时我已将stream的配置加入到了nginx.conf中,执行nginx -t 的结果就是如上图报错。
4、接下来是使用开启了stream模块的nginx二进制文件测试
显而易见,成功了。
5、那么接下来我们就启动nginx即可