Nginx中upstream模块实现PHP服务器的负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx中upstream模块实现PHP服务器的负载均衡相关的知识,希望对你有一定的参考价值。

nginx中upstream模块实现php服务器的负载均衡

upstream模块介绍

Nginx 的负载均衡功能依赖于 ngx_http_upstream_module 模块,所支持的代理方式包括 proxy_pass 、fastcgi_pass 、memcached_pass 。upstream 是nginx作为代理及缓存的核心结构并且请求上游发送至下游都能由相关联的模块进行干预处理。

试验环境

Nginx服务器IP:192.168.58.134

PHP服务器1IP:192.168.58.132

PHP服务器2IP:192.168.58.130

实验搭建

配置Nginx服务器

首先搭建Nginx服务器,在上一篇博客中,Nginx服务器已经搭建好,这里我们需要修改Nginx.conf文件,在里面启用upstream模块,对于PHP服务器池进行配置,实现其负载均衡。

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf

    #gzip  on;
    upstream php {                               #定义定义php服务器池,权重都为1,相当于访问模式是轮询
        server 192.168.58.132:9000 weight=1;
        server 192.168.58.130:9000 weight=1;
       }
    server {
        listen       80;
        server_name  localhost;

        location ~ .php$ {
            root           /var/www/html/webphp;   #两台php服务器中都必须要有这个目录,里面有不同的index.php文件
            fastcgi_pass   php;                     #这里要修改为php服务器池,而不是单个服务器
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
[[email protected] ~]# service nginx stop
[[email protected] ~]# service nginx start
#重启Nginx服务

配置PHP服务器

两台php服务器一样配置,在上一篇博客中也有详细配置。然后都要启用php-fpm,查看启动正常。
技术分享图片
技术分享图片
技术分享图片
技术分享图片

测试

我们访问192.168.58.134/index.php可以看到两个php服务器轮流进行访问,最终实现了负载均衡。
技术分享图片
技术分享图片

以上是关于Nginx中upstream模块实现PHP服务器的负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

nginx中upstream模块的简单示例

nginx upstream 模块

Nginx负载均衡组件模块

Linux下玩转nginx系列---nginx实现负载均衡

nginx 反向代理核心模块upstream

nginx以upstream 分组的方式实现http反向代理