记一次 Centos7 Nginx 配置 stream 转发

3 篇文章 0 订阅
2 篇文章 0 订阅

一、背景说明

有两台服务器 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、虚拟机安装

参考:https://blog.csdn.net/llwy1428/article/details/89328381

2、配置网卡

参考:https://blog.csdn.net/llwy1428/article/details/85058028

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)

参考:

https://hunter.blog.csdn.net/article/details/84965680

14、在 A 服务器 192.168.11.19 上测试连接

 

 

至此,Centos7  Nginx  配置  stream  转发,操作完毕!

 

参考地址:

https://blog.csdn.net/llwy1428/article/details/85063944

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值