實驗環境
nginx1.12.1 : 192.168.1.19
mysql : 192.168.1.20:3306
1:編譯或者升級nginx至版本1.9.0以上,編譯過程中需帶上--with-stream。
# ./configure --prefix=/opt/apps/nginx --with-stream
# make && make install
2:配置stream,定義代理192.168.1.20的3306埠對映為埠2333。
# vi /opt/apps/nginx/conf/nginx.conf
……
events {
use epoll;
worker_connections 65535;
}
#stream配置
stream {
server {
listen 2333;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass 192.168.1.20:3306;
http {
3:開啟nginx,驗證代理是否生效。
image.png
可以看到我們現在可以透過nginx代理的埠訪問到內網的mysql服務了。這也直接避免了mysql直接暴露到公網,增加些許的安全。當然,利用stream也可以實現後端服務的負載均衡。
實驗環境
nginx1.12.1 : 192.168.1.19
mysql : 192.168.1.20:3306
1:編譯或者升級nginx至版本1.9.0以上,編譯過程中需帶上--with-stream。
# ./configure --prefix=/opt/apps/nginx --with-stream
# make && make install
2:配置stream,定義代理192.168.1.20的3306埠對映為埠2333。
# vi /opt/apps/nginx/conf/nginx.conf
……
……
events {
use epoll;
worker_connections 65535;
}
#stream配置
stream {
server {
listen 2333;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass 192.168.1.20:3306;
}
}
http {
……
……
}
3:開啟nginx,驗證代理是否生效。
image.png
可以看到我們現在可以透過nginx代理的埠訪問到內網的mysql服務了。這也直接避免了mysql直接暴露到公網,增加些許的安全。當然,利用stream也可以實現後端服務的負載均衡。