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數據庫。 

本文到此結束。

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