需求介绍
最近在开发物联网相关的项目,需要使用nginx转发TCP长连接的流量。默认通过yum命令安装的nginx是不具备TCP流量转发的功能的,只能转发HTTP/HTTPS流量。网上很多同类教程,都是指导读者通过重新编译nginx的办法安装,但我觉得太麻烦了。经过一番寻找,发现完全可以通过yum命令给Nginx安装stream模块,支持TCP流量代理转发。
安装步骤
在CentOS中使用yum来为nginx安装stream模块,需要先添加nginx的官方源,然后再进行安装。以下是具体的步骤:
-
安装CentOS的epel-release包(如果尚未安装),该包提供了更多的软件包和源。
sudo yum install epel-release
-
安装nginx的官方存储库来获取新版本的nginx。
sudo yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
-
安装nginx
sudo yum install nginx
-
确认nginx是否已成功安装并正在运行
sudo systemctl status nginx
-
安装nginx stream模块相关的依赖项
sudo yum install gcc pcre-devel zlib-devel openssl-devel
-
安装nginx stream模块
sudo yum install nginx-module-stream
-
检查nginx的配置文件是否包含stream模块
sudo nginx -V | grep stream
如果输出信息包含stream,则说明stream模块已成功安装。
注意:确保按照上述步骤的先后顺序进行操作,否则可能会出现错误。