nginx代理MySQL实现数据库远程办公

1、先查看nginx当前版本编译时的参数

# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_ssl_module

可以看到编译时只加了一个参数 --with-http_ssl_module,但是nginx代理mysql需要使用 stream模块,下面介绍添加stream模块

2、nginx添加stream模块

找到并进入nginx之前编译时的目录,执行下面的命令

# ./configure --with-http_ssl_module --with-stream
# make 注意一定不要执行make install
# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bk22
# cp objs/nginx /usr/local/nginx/sbin/

再验证nginx是否有了stream模块

# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-stream

可见stream模块已经添加上了。

3、修改nginx配置文件

把下面的配置加入到与 http 段同级的位置

stream{
    server {
       listen 3306;
       proxy_pass mysql;
    }
    upstream mysql {
       server 需要被代理的ip:3306;
    }
}

4、重启nignx

重启nginx,并用mysql命令测试是否代理成功。 这样就可以方便大家远程访问公司内网的mysql数据库。 

本文到此结束。

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