IP地址如下:
eth0 192.168.10.10 web1
eth0:0192.168.10.40 web2
nginx 配置文件修改如下:
35 server {
36 listen 192.168.1.10:80;
37 server_name web1;
38 location / {
39 root /www/html/web1;
40 index index.php index.html index.htm;
41 }
42 }
43 server {
44 listen 192.168.1.20:80;
45 server_name web2;
46 location / {
47 root /www/html/web2;
48 index index.php index.html index.htm;
49 }
50 }
测试如下:
192.168.10.10:80 web1
192.168.10.10:800 web2
nginx 配置文件修改如下:
35 server {
36 listen 80;
37 server_name web1;
38 location / {
39 root /www/html/web1;
40 index index.php index.html index.htm;
41 }
42 }
43 server {
44 listen 800;
45 server_name web2;
46 location / {
47 root /www/html/web2;
48 index index.php index.html index.htm;
49 }
50 }
测试如下:
192.168.10.10 www.sh.com
192.168.10.10 bbs.sh.com
本文为了方便在hosts文件中添加如上内容
nginx 配置文件修改如下:
35 server {
36 listen 80;
37 server_name www.sh.com;
38 location / {
39 root /www/html/web1;
40 index index.php index.html index.htm;
41 }
42 }
43 server {
44 listen 80;
45 server_name bbs.sh.com;
46 location / {
47 root /www/html/web2;
48 index index.php index.html index.htm;
49 }
50 }
测试如下
nginx 作为反向代理服务器,以实现负载均衡,和动,静态页面分离,apache1,apache2 作为http服务器,IP配置如上
nginx 配置静态页面index.html 显示web
apache1 配置php页面test.php 显示 apache1
apache1 配置虚拟目录discuz 安装有discuz
apache2 配置php页面test.php 显示 apache2
访问静态页面直接使用nginx的页面,访问php页面使用代理
访问discuz定位于apache1
访问php页面定位于apache2
nginx 配置文件如下:
在server模块添加如下内容
location ^~ /discuz/ { # (^~表示不实用正则表达式匹配,直接匹配)
proxy_pass http://192.168.10.20;
}
location ~ \.php$ {
}
测试如下:
对于同一页面test.php 实现负载均衡(实际上apache1,apache2 使用相同的数据,可以考虑使用存储服务器实现数据同步)
nginx 配置文件如下:
在http模块添加如下内容:
upstream cluster1 {
server 192.168.10.20:80; #群集服务器1
server 192.168.10.30:80; #群集服务器2
}
在server模块添加如下内容
location ~ \.php$ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
对于apache1,和apache2 也可以设置权重如下:
upstream cluster1 {
server 192.168.10.20:80 weight=4; #群集服务器1 处理4/5的请求
server 192.168.10.30:80 ; #群集服务器2 处理1/5的请求
}
测试如下: