記一次 Centos7 Nginx 配置 stream 轉發

一、背景說明

有兩臺服務器 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章