多台Web同时提供服务,后台如何固定在一台机器上?
这种情况是web的前端和后台在一台服务器上,无法分离或不好分离,应用范围为已开发好的固定模板,如Discuz!等。
nginx前端代理实现,在配置文件中:
upstream bbs_hk {
server 192.168.2.10:80;
}
upstream bbs {
ip_hash;
server 192.168.2.10:80;
server 192.168.2.20:80;
}
server {
listen 80;
server_name bbs.jb200.com;
access_log /var/log/nginx/bbs.web.access.log;
error_log /var/log/nginx/bbs.web.error.log;
location ~ ^/admin.php(.?)+ {
proxy_pass http://bbs_hk;
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;
}
location / {
proxy_pass http://bbs;
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;
}
}
当访问后台 http://bbs.jb200.com/admin.php是自动转到192.168.2.10这台服务器上。
测试:可以停掉192.168.2.10这台服务器的web服务检查下。