美文网首页
Nginx四层代理 - 反向代理MySQL

Nginx四层代理 - 反向代理MySQL

作者: 十毛tenmao | 来源:发表于2021-09-15 23:16 被阅读0次

nginx一般都用作http代理,工作在第七层网络, 如果不是http协议的话,就需要用到四层代理, 用到stream模块

设置四层代理

  • 编译nginx: 支持stream模块
./configure --with-stream
  • 配置nginx: 转发13306请求到3306
# stream与http是同级别的, 内部配置语法跟http模块基本一致
stream {
    # 配置反向代理
    upstream mysql {
        server 127.0.0.1:3306;
    }

    server {
        # 监听13306端口
        listen 13306;
        # 不需要配置location(因为TCP层没有URL)
        # 转发到mysql
        proxy_pass mysql;
    }
}

测试

mysql -h {host} -P 13306

常见问题

  • nginx: [emerg] unknown directive "stream": nginx没有编译stream模块,需要重新编译,并支持stream --with-stream

相关文章

网友评论

      本文标题:Nginx四层代理 - 反向代理MySQL

      本文链接:https://www.haomeiwen.com/subject/hwnlgltx.html