第一步:惯例先准备2台虚拟机
准备工作:
虚拟机1:192.168.1.160 (主服务器)
虚拟机2:192.168.1.161(副服务器)
使用async 同步两台服务器的项目目录 保持代码一致
第二步-在主服务器中配置nginx.conf文件
upstream 192.168.1.160 {
server 192.168.1.161:80 weight=2;
server 192.168.1.160:808 weight=3;
}
server {
listen 80;
server_name 192.168.1.160;
root /home/wwwroot/test;
location / {
proxy_pass http://192.168.1.160;
index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
//再配置多一个vhost
server
{
listen 808;
server_name 192.168.1.160;
index index.html index.htm index.php;
root /home/wwwroot/test;
}
第三步-在副服务器中配置nginx.conf
server
{
listen 80;
server_name 192.168.1.160;
index index.html index.htm index.php;
root /home/wwwroot/test;
}
第四步 2台服务器分别 nginx -s reload 重启nginx
第五步 访问浏览器 192.168.1.160
访问多几次 结果如下
代码里直接打印了$_SERVER 截取部分返回内容
1.第一次访问
array(36) {
["SERVER_PORT"]=>
string(2) "80"
["SERVER_ADDR"]=>
string(13) "192.168.1.161"
2、第二次访问
array(36) {
["SERVER_PORT"]=>
string(3) "808"
["SERVER_ADDR"]=>
string(13) "192.168.1.160"
3.第三次访问
array(36) {
["SERVER_PORT"]=>
string(2) "80"
["SERVER_ADDR"]=>
string(13) "192.168.1.161"
从中得知每次访问 都是从 192.168.1.161的80端口 和 192.168.1.160的808端口 2者之间返回。