首页 Linux正文

Nginx实现动静分离负载均衡

王昊 Linux 2019-08-01 221 0

三台主机:

nginx服务器=192.168.17.195

web1=192.168.17.196

web2=192.168.17.199

安装过程这里就不多演示了,有专门的一篇文章来讲解如何以编译的方式安装Nginx:编译安装Nginx 1.16

首先先在nginx主服务器上修改配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

找到图片所在的位置,将其修改为下面的内容

location / {
            root   html;
            index  index.html index.htm;

        if ($request_uri ~* \.html$){
                   proxy_pass http://htmlservers;
           }   
        if ($request_uri ~* \.php$){
                   proxy_pass http://phpservers;
           }   
                   proxy_pass http://picservers;

      }

将以下内容注释掉,否则php文件直接在nginx服务器上解析了,不再解析给后端服务器

定义负载均衡设备的 ip

在配置文件nginx.conf的最后一行 } 前,添加以下内容:

    upstream  htmlservers { 
        server 192.168.17.196:80;
        server 192.168.17.199:80;
    }       
    upstream  phpservers{
        server 192.168.17.196:80;
        server 192.168.17.199:80;
    }
    upstream  picservers {
        server 192.168.17.196:80;
        server 192.168.17.199:80;
}

检查语法

nginx -t

没问题的话再向下进行

/usr/local/nginx/sbin/nginx -s reload

主机:192.168.17.196

[root@web1 ~]# echo 192.168.17.196 > /var/www/html/index.html

vim /var/www/html/test.php

192.168.17.196-php
<?php
phpinfo();
?>

用截图工具截一下代码当作静态图片文件,本文用的png格式,然后上传到“web1的/var/www/html/目录下:

ls /var/www/html/

196-php.png  index.html  test.php

重启apache服务器

systemctl restart httpd

主机:192.168.17.199

[root@web2 ~]# echo 192.168.17.199 > /var/www/html/index.html

vim /var/www/html/test.php

192.168.17.199-php
<?php
phpinfo();
?>

跟上面一样,用截图工具截一下代码当作静态图片文件,然后上传到“web2的/var/www/html/目录下:

ls /var/www/html/

199-php.png  index.html  test.php

systemctl restart httpd

浏览器验证

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论