centos7.2 编码编译安装nginx,实现tcp反向代理

来源:互联网 发布:淘宝哪家耳机好 编辑:程序博客网 时间:2024/06/05 15:24
   我们很多时候,需要将局域网内服务器集群中的某台机器的某个端口映射到外网,可以直接通过代理服务器连接到局域网内的电脑,进行操作。而nginx除了能实现http的反向代理外和负载均衡外,还能实现tcp的反向代理,做数据库的负载均衡。非常的方便简介,平时还可以作为nat网关一样来使用,棒棒的


   下面讲一下如何实现nginx 的tcp反向代理,首先,直接用yum安装的nginx,是默认不安装tcp模块的,所以需要自己编译nginx源码进行 安装,从nginx 1.9版本开始,安装包内就自带了tcp模块,只需要在安装的时候,声明一下一起安装就行了。


1 . 首先,下载nginx 。官网下载: http://nginx.org/en/download.html
$ wget http://nginx.org/download/nginx-1.12.1.tar.gz
$ yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel             (安装一些依赖包)
$ tar -zxvf nginx-1.12.1.tar.gz                             (解压)
$ mv nginx-1.12.1 /usr/local/                 (放入/usr/local/目录下,没什么意义,个人习惯而已) 
$ cd nginx-1.12.1               (进入解压后的文件价)
$ groupadd nginx                        (添加用户组)
$ useradd nginx -g nginx -s /sbin/nologin -M       (添加用户名)
$ ./configure --with-stream --with-stream_ssl_module --user=nginx --group=nginx         (加入tcp模块,https模块,一起编译,并指定用户名,用户组)
$ make && make install    (编译 安装)


编译完后,在/usr/local/下会出现一个nginx文件夹,里面sbin里的nginx则为运行文件。配置文件为conf/nginx.conf 修改配置文件,添加如下内容:


-------------------------------------------------------------------------------------
stream {
#Mysql数据库代理
        upstream mysql{
server  数据库IP:端口号;
}
 
server {
listen 23306;
proxy_pass mysql;
}
-----------------------------------------------------------------------------------------
保存退出,启动nginx ,然后尝试用连接 该ip的23306端口,则显示成功连接到数据库。
到此。则可以正常访问远程局域网内的数据库了。棒棒哒。至于如何加入系统服务,设为开机启动,则后面再补充。
原创粉丝点击