首页新闻找找看学习计划

Nginx + MSSql 负载分压问题 求解

0
悬赏园豆:30 [已解决问题] 解决于 2017-09-29 14:45

用的是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项目根本访问不到数据库。是配置有问题,还是压根不是这么玩的?

写代码的相声演员的主页 写代码的相声演员 | 小虾三级 | 园豆:551
提问于:2017-09-28 16:35
< >
分享
最佳答案
0

mysql的负载请用lvs

收获园豆:30
北方姆Q | 小虾三级 |园豆:856 | 2017-09-28 16:37

是MSSQL,不是MySQL

写代码的相声演员 | 园豆:551 (小虾三级) | 2017-09-28 16:37

@写代码的相声演员: 哦,那数据库的负载请用lvs

北方姆Q | 园豆:856 (小虾三级) | 2017-09-28 16:38

@北方姆Q: 我看网上有人说可以直接用Nginx,但是用是1.9.1。我就想试试

写代码的相声演员 | 园豆:551 (小虾三级) | 2017-09-28 16:40

@北方姆Q: http://itindex.net/detail/39938-nginx-mssql-%E8%B4%9F%E8%BD%BD

这个就是拿Nginx做的。其实我就是想试下读写分离,一主多从的状态,但是没能理解多从要如何向应用服务器提供数据服务。

写代码的相声演员 | 园豆:551 (小虾三级) | 2017-09-28 17:14

@写代码的相声演员: 我知道,你的这个是写在了哪个模块里

北方姆Q | 园豆:856 (小虾三级) | 2017-09-28 17:20

@北方姆Q: 外部配置文件。没有直接写在Nginx.conf里。

其中Nginx.conf有个

http{

 include /etc/nginx/conf.d/#.conf

}

通过这个加载外部配置文件(教程上是这么说的),上面贴的代码就是conf.d中的一个文件(就一个)的全部内容

写代码的相声演员 | 园豆:551 (小虾三级) | 2017-09-28 17:25

@写代码的相声演员: 写到tcp里

北方姆Q | 园豆:856 (小虾三级) | 2017-09-28 17:30

@北方姆Q: 你这个TCP提醒到我了。谢谢。我自己脑残了,Nginx没装流模块...装上就好了

写代码的相声演员 | 园豆:551 (小虾三级) | 2017-09-29 14:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册