奇怪的知识又增加了
如题,目前情况为,只有一台机器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
把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连接即可: