标签:
应用的服务器分为前端和后端
前端服务器: 负责对静态文件(比如JS、CSS、图片)等的响应, 以及把PHP请求分发到后端服务器
后端服务器: 处理前端服务器分发而来的PHP请求
前端服务器: 192.168.1.10
后端服务器: 192.168.1.11, 192.168.1.12
后端服务器的配置:
两台后端服务器分别配置 php-fpm 的监听得之和端口, 可以通过修改php-fpm.conf或对应php-fpm配置文件来修改监听地址和端口
由于是 php-fpm, 所以配置如下
192.168.1.11 服务器中php-fpm的配置信息
listen=192.168.1.11:9000
192.168.1.12 服务器中php-fpm的配置信息
listen=192.168.1.12:9000
修改完后重启两台服务器的 php-fpm
前端服务器的配置:
#其中 "blog" 表示随意起的一个 upstream 的名称, 下文要用, 此块用来设置后端服务器 upstream blog { server 192.168.1.11:9000 weight=1; #192.168.1.11:9000为后端服务器192.168.1.11的php-fpm进程监听的地址和端口 server 192.168.1.12:9000 weight=1; #192.168.1.12:9000为后端服务器192.168.1.12的php-fpm进程监听的地址和端口 } server { listen 80; server_name blog.yilexun.com; root /dragon/webapp/blog; index index.html index.php; location ~* \.(ico|css|js|gif|jpe?g|png)$ { #error_page 404 /404.html; break; } if (!-e $request_filename) { rewrite ^(.*)\.(ico|css|js|gif|jpe?g|png)$ /404.html last; rewrite ^(.+)$ /index.php last; break; } location ~* \.php(\?|\/)? { fastcgi_pass_request_body off; fastcgi_split_path_info ^(.+\.php)(.*)$; client_body_in_file_only clean; client_max_body_size 8m; fastcgi_param REQUEST_BODY_FILE $request_body_file; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass blog; #此处 "blog" 就是上面定义的 upstream 的名称 fastcgi_index index.php; } location = /50x.html { root html; } }
配置完后重启 nginx
分别在前端服务器和后端服务器上都要上传相同的目录文件, 我的实验结果是虽然用后端服务器解析PHP文件, 但是前后端服务器都必须有对应的PHP文件目录
/dragon/webapp/blog/
index.php
<?php echo ‘前端‘; //三台服务器分别为 ‘前端‘, ‘后端1‘, ‘后端2‘
访问 http://blog.yilexun.com/index.php, 每次刷新可以看到输出结果在‘前端‘, ‘后端1‘, ‘后端2‘, 中不断变化, 表示配置成功
接下来会继续实现 nginx 服务器间的负载均衡, 敬请期待。。
标签:
原文地址:http://www.cnblogs.com/JohnABC/p/4724954.html