Nginx 配置数据库服务代理
实现场景通过访问ip1:6633,可以直接连接ip2:3306的mysql服务。当换一个mysql数据库服务,只需要调整nginx的配置文件nginx.conf,然后重新启动nginx的容器,外界仍可以通过ip1:6633进行访问。1 docker下载最新的nginx镜像sudo docker pull nginx2 在宿主机目录/home/xxx/app/,创建nginx.conf文件worke
·
场景
通过访问ip1:6633,可以直接连接ip2:3306的mysql服务。当换一个mysql数据库服务,只需要调整nginx的配置文件nginx.conf,然后重新启动nginx的容器,外界仍可以通过ip1:6633进行访问。
1 docker下载最新的nginx镜像
sudo docker pull nginx
2 在宿主机目录/home/xxx/app/,创建nginx.conf文件
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
stream {
upstream sql {
server ip2:3306 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 6633;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass sql;
}
}
# proxy_pass的名称与upstream的名称要保持一致
3 启动docker并挂载nginx.conf文件对应到宿主机文件/home/xxx/app/nginx.conf
sudo docker run --name nginx -d -p 6633:6633 \
-v /home/cjy/app/nginx.conf:/etc/nginx/nginx.conf \
nginx:latest
* 访问mysql数据库服务ip2:3306时,可以通过ip1:6633进行访问。当换一个mysql数据库服务,只需要调整nginx.conf,然后重新启动nginx的容器,外界仍可以通过ip1:6633进行访问mysql服务。
更多推荐
已为社区贡献1条内容
所有评论(0)