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地址
1、根据IP地址访问进行分发
首先在主服务器上更改Nginx配置文件
vi /usr/localwebserver/nginx/conf/nginx.conf
新增 upstream 配置项
其中ip_hash 标识能够将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上(同IP限定同服务器)
因为128这台虚拟机的80端口被用于监听请求来实现负载均衡,若想将128服务器也用做参与到服务中来,就需要新增其他端口(例:下图的8080端口)来进行服务,具体配置如截图
其中:proxy_pass 后面的名称要和upstream 后面的名称对应
新增server 8080 配置(实现本机也参与转发功能)
更新从服务器配置
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
主要是这几个配置,80端口用来监听来自128服务器的请求,访问root配置的项目地址
2、结果测试
两台服务器都配置好了,为了知道我们的请求分别到了哪台服务器,我们在/home/wwwroot/default文件夹下新建index.html文件加以区分
测试成功。。。
3、使用域名进行访问分发
配置项基本相同,主服务upstream配置(标识处是访问域名或修改的地方)
从服务器配置
其中 upstream 后面的 wwww.aaa.com 可以为任意字符,只要与proxy_pass 后面保持一致就行
访问测试
测试成功。。。。。
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论