docker/nginx反向代理tcp

docker安装教程

https://www.jianshu.com/p/8253a8eedbd1

在/etc/nginx/conf.d文件夹下新建proxy.conf文件

cd /etc/nginx/conf.d/
vim proxy.conf
#文件内容如下
stream {

    upstream cloudsocket {
       hash $remote_addr consistent;
      # $binary_remote_addr;
       server 172.16.130.1:3306 max_fails=3 fail_timeout=30s;
    }
    server {
       listen 13306;#数据库服务器监听端口
       proxy_connect_timeout 10s;
       proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
       proxy_pass cloudsocket;
    }
}

修改nginx.conf,引入proxy.conf

cd /etc/nginx/
vim nginx.conf

修改内容如下

image.png

启动nginx,nginx添加了13306监听,故需多增加-p 13306:13306监听端口

#若nginx已启动,需先删除服务
docker stop nginx && docker rm nginx
#启动nginx
docker run --name nginx -d -p 80:80 -p 13306:13306 -v /etc/timezone:/etc/timezone:ro -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf -v /etc/nginx/conf.d/:/etc/nginx/conf.d/ -v /etc/nginx/log:/var/log/nginx nginx

查看13306端口是否启动监听

lsof -i:13306
#返回如下内容,表示成功
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
exe     3134 root    4u  IPv6  22339      0t0  TCP *:13306 (LISTEN)

你可能感兴趣的:(docker/nginx反向代理tcp)