nginx代理mysql连接

奇怪的知识又增加了

如题,目前情况为,只有一台机器A能连上数据,其他电脑想连接,如何做。

解决方案:

1,A机器安装nginx,安装步骤详见前面文章。

        注:安装步骤中需要修改一个地方,编译安装nginx的时候,./configure最后面需要加上

        --with-stream

        即:

echo "编译安装:nginx-"$nginx_version""
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with-pcre=/usr/local/pcre-"$pcre_version" --with-zlib=/usr/local/zlib-"$zlib_version" --with-openssl=/usr/local/openssl-"$openssl_version" --with-stream 

             附:   nginx安装脚本

2,安装过程可能会失败,报错类似:Makefile:972:objs/src/http/ngx_http_script.o

解决方法,转自:Nginx在make时报错[objs/Makefile:469: objs/src/core/ngx_murmurhash.o] Error - 将来-小志 - 博客园

在安装目录下执行

vim obj/Markfile

nginx代理mysql连接_第1张图片

把Makefile文件的-Werror去掉

重新执行make

 3,安装完成后,修改nginx.conf文件

 参考:nginx代理tcp协议连接mysql - 凉生墨客 - 博客园

增加steam配置,与http同级,不是放在http里面!!

stream {
	upstream jpaassocket {
		hash $remote_addr consistent;
		server 10.254.112.183:3306 weight=5 max_fails=3 fail_timeout=30s;
	}
	server {
		listen 9001;#数据库服务器监听端口
		proxy_connect_timeout 10s;
		proxy_pass jpaassocket;
	}
}

重启nginx即可,重启命令:进入/nginx/sbin/目录,执行  ./nginx -s reload  即可。

这样用机器B等的navicat连接即可:

nginx代理mysql连接_第2张图片

你可能感兴趣的:(nginx,mysql,nginx,运维)