用的是VMWare虚拟机。
三台虚拟机都是CentOS7。都具有2块网卡,一个是对宿主机的,另一个在三台虚拟机之间形成一个内网,其中两台安装Sqlserver。Nginx版本1.10.3
在宿主机访问两个Sql服务器,正常读写。
在其中一台没有安装sql的虚拟机上部署了一套Web项目。通过这套web项目分别访问两个sql服务器正常。
然后我想试试Nginx对数据库的负载分压。之前Nginx对Web的已经成功了。感觉理论上一样的。
把Nginx配置和监听端口都改成了1433,然后Nginx就起不来。
upstream nginxlb{ server 12.34.1.192:1433 weight=1 max_fails=2 fail_timeout=10s; server 12.34.1.191:1433 weight=1 max_fails=2 fail_timeout=10s; } server { listen 1433; server_name localhost; location / { proxy_pass nginxlb; } }
然后我把 proxy_pass nginxlb; 改成了 proxy_pass http://nginxlb;
能启动了,通过Web项目根本访问不到数据库。是配置有问题,还是压根不是这么玩的?
mysql的负载请用lvs
是MSSQL,不是MySQL
@写代码的相声演员: 哦,那数据库的负载请用lvs
@北方姆Q: 我看网上有人说可以直接用Nginx,但是用是1.9.1。我就想试试
@北方姆Q: http://itindex.net/detail/39938-nginx-mssql-%E8%B4%9F%E8%BD%BD
这个就是拿Nginx做的。其实我就是想试下读写分离,一主多从的状态,但是没能理解多从要如何向应用服务器提供数据服务。
@写代码的相声演员: 我知道,你的这个是写在了哪个模块里
@北方姆Q: 外部配置文件。没有直接写在Nginx.conf里。
其中Nginx.conf有个
http{
include /etc/nginx/conf.d/#.conf
}
通过这个加载外部配置文件(教程上是这么说的),上面贴的代码就是conf.d中的一个文件(就一个)的全部内容
@写代码的相声演员: 写到tcp里
@北方姆Q: 你这个TCP提醒到我了。谢谢。我自己脑残了,Nginx没装流模块...装上就好了