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 服务器池进行配置, 实现其负载均衡.
- [root@localhost ~]# 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;
- }
- [root@localhost ~]# service nginx stop
- [root@localhost ~]# service nginx start
- # 重启 Nginx 服务
配置 PHP 服务器
两台 php 服务器一样配置, 在上一篇博客中也有详细配置. 然后都要启用 php-fpm, 查看启动正常.
测试
我们访问 192.168.58.134/index.php 可以看到两个 php 服务器轮流进行访问, 最终实现了负载均衡.
来源: http://blog.51cto.com/10693404/2151987