Nginx 分布式系统(一主多从)

技术博客 / 5574人浏览 / 0人评论

Nginx 分布式系统(一主多从)
参考地址:
http://t.zoukankan.com/jn1011-p-10595351.html
http://www.startphp.cn/front/php/0327160.html
虚拟机上安装centos系统和Nginx 服务器
Nginx服务器 安装教程https://www.runoob.com/linux/nginx-install-setup.html

Nginx访问不成功,尝试查看防火墙是否打开

服务器1 192.168.23.128
服务器2 192.168.23.129
通过 ip addr命令 可以查看 当前虚拟机的IP地址
image.png

1、根据IP地址访问进行分发
首先在主服务器上更改Nginx配置文件
vi /usr/localwebserver/nginx/conf/nginx.conf
新增 upstream 配置项
image.png
其中ip_hash 标识能够将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上(同IP限定同服务器)
因为128这台虚拟机的80端口被用于监听请求来实现负载均衡,若想将128服务器也用做参与到服务中来,就需要新增其他端口(例:下图的8080端口)来进行服务,具体配置如截图
image.png
其中:proxy_pass 后面的名称要和upstream 后面的名称对应
新增server 8080 配置(实现本机也参与转发功能)
image.png
更新从服务器配置

location ~ \.php$ {
                        #root /home/wwwroot/tester;
                        root /home/wwwroot/testyii/web;
                        #fastcgi_pass 127.0.0.1:9000;
                        fastcgi_pass unix:/tmp/php-cgi.sock;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        include fastcgi_params;
                }

点击保存,重启Nginx服务器

如果不能正常重启,报错端口占用,执行 netstat -ntpl 查看nginx端口 kill掉  重新开启服务

129服务器配置如下图
编辑nginx配置文件:vi /usr/local/webserver/nginx/conf/nginx.conf
image.png
主要是这几个配置,80端口用来监听来自128服务器的请求,访问root配置的项目地址

2、结果测试

两台服务器都配置好了,为了知道我们的请求分别到了哪台服务器,我们在/home/wwwroot/default文件夹下新建index.html文件加以区分
image.png
image.png
测试成功。。。

3、使用域名进行访问分发
配置项基本相同,主服务upstream配置(标识处是访问域名或修改的地方)
image.png
image.png
从服务器配置
image.png

其中 upstream 后面的 wwww.aaa.com 可以为任意字符,只要与proxy_pass 后面保持一致就行

访问测试
image.png
image.png
测试成功。。。。。

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我