记一次 Centos7 Nginx 配置 stream 转发
 
一花一世界~ 2019-09-19 20:15:01  2860  收藏 6
分类专栏: Nginx 负载均衡 网络
一、背景说明
 
有两台服务器 A、B,A、B服务器在同一个内网环境中,之间可互联互通;其中 A 服务器有外网 ip 可远程连接访问;B 服务器无外网 ip ,不可远程请求、访问。
 
需求:通过远程请求 A 服务器的 ip 和端口,来访问、操作 B 服务器上的 web 服务或者数据库。
 
二、环境、工具说明
 
1、操作系统  Centos7.4 x64  Minimal 1708
 
2、VMware 版本:VMware Workstation Pro15
 
3、工具:xshell5
 
4、Nginx:nginx-1.17.3.tar.gz
 
5、数据库:MariaDb(Mysql)
 
三、安装部署
 
1、虚拟机安装
 
 
2、配置网卡
 
 
3、下载  nginx 
 
http://nginx.org/en/download.html    或    http://nginx.org/
 
4、在 A 服务器 ip:192.168.11.19 上安装基本工具
 
root@localhost ~]#  yum install -y vim lrzsz gcc gcc-c++ make  pcre pcre-devel zlib zlib-devel openssl openssl-devel 
 
5、创建目录,上传 nginx 文件,解压
 
[root@localhost ~]# mkdir /opt/nginx
 
把已下载好的  nginx-1.17.3.tar.gz 上传到  /opt/nginx  目录中
 
[root@localhost ~]# cd /opt/nginx
 
[root@nginx ~]# rz
 
选择已下载的  nginx-1.17.3.tar.gz 包
 
解压
 
[root@nginx ~]# tar zxvf nginx-1.17.3.tar.gz
 
查看文件目录
 
 
 
6、进入目录、编译(注意:如果使用 nginx 的 stream 功能,在编译时一定要加上 “--with-stream” )
 
[root@localhost ~]# cd /opt/nginx/nginx-1.17.3
 
[root@localhost nginx-1.17.3]# ./configure --with-stream
 
 
 
7、安装
 
[root@localhost nginx-1.17.3]# make && make install
 
 
 
8、查看安装结果
 
 
 
9、配置nginx
 
进入安装好的nginx下的conf目录
 
[root@localhost ~]# cd /usr/local/nginx/conf/
 
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
 
events {
    use epoll;
    worker_connections  1024;
}
stream {
  server {
    listen 3307;
    proxy_connect_timeout 10s;
    proxy_timeout 300s;
    proxy_pass 192.168.1.12:3306;
  }
}
 
 
说明:
 
(1)、使用 epoll 的 I/O 模型;
 
(2)、连接数,在大量请求的时候需要调大此参数;
 
(3)、steam 流转发配置;
 
(4)、转发后的端口号;
 
(5)、被转发的服务  ip和端口。
 
扩展:
 
如果服务是集群模式参考
 
stream {
        upstream back{
                server 10.10.62.210:3306 up;
                server 10.10.51.213:3306 up;
        }
        server {
                listen 3301;
                proxy_connect_timeout 5s;
                proxy_timeout 300s;
                proxy_pass back;
        }
}
10、启动nginx
 
[root@localhost ~]# /usr/local/nginx/sbin/nginx
 
查看nginx的启动信息
 
[root@localhost ~]# ps -ef | grep nginx
 
 
 
11、关闭nginx
 
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s quit
 
 
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop
 
 
[root@localhost ~]# kill -9 13114  #(13114  是 PID)
 
[root@localhost ~]# kill -9 13115  #(13115  是 PID)
 
12、重新加载配置文件
 
[root@localhost ~]# /usr/local/nginx/sbin/nginx  -s reload
 
启动时加载配置文件的路径:
 
[root@localhost ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  #(配置文件路径)
 
13、在 B 服务器192.168.1.12节点上安装 MariaDb(Mysql)
 
参考:
 
 
14、在 A 服务器 192.168.11.19 上测试连接
 
 
 
 
 
 
 
至此,Centos7  Nginx  配置  stream  转发,操作完毕!
 
 
 
————————————————
版权声明:本文为CSDN博主「一花一世界~」的原创文章