## nginx 代理 mysql

nginx 代理 mysql

$ cat docker-compose.yml 
version: '3'
services:
  nginx:
    container_name: nginx 
    image: nginx
    restart: always
    ports:
      - 80:80
      - 13306:13306
    volumes:
      - $PWD/config/nginx.conf:/etc/nginx/nginx.conf
      - $PWD/config/www:/home/www
      - $PWD/config/log:/var/log/nginx
      - $PWD/config/html:/usr/share/nginx/html

使用 stream 模块代理

$ cat config/nginx.conf 

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

# 代理 mysql
stream {
    server {
       listen 13306; 
       proxy_connect_timeout 1s;
       proxy_timeout 3s;
       proxy_pass 192.168.110.10:3306;    
    }
}

连接时就 可以 直接 连接 192.168.110.10:13306