首页 > 代码库 > nginx均衡负载

nginx均衡负载

一直在担心session 问题,结果试了2个web 论坛,discuz 和phpbb ,前面用nginx 均衡负载,后端是apache httpd +php ,mysql 用同一个,修改一下config.php就ok 了。似乎没有碰到session问题

nginx配置如下

upstream http_bbs {
server 182.92 ;
server 42.96 ;
}
server {
listen 80;
server_name 114.215 ;
location ~* \.(jpg|jpeg|ico)$ {
expires max;
}

location / {
proxy_pass http://http_bbs;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

access_log /var/log/nginx/bbs.log proxy ;
}

}

我猜是php程序把session写在mysql 里面了。

找了一下,还真找到了

比如说discuz 的session 表叫 

pre_common_session

phpbb 的

phpbb_sessions

否则,默认php 会把session 写在/var/lib/php/session 下面。

程序本身支持负载均衡就很好,不需要把在nginx 上做特殊设置。

 

nginx 虽然有max_fails ,但是这是机器挂了的情况,如果服务down 了,是没有相对的健康检查的,nginx plus 有这功能,但是收费了,tengine 有,而且免费。很不错。或者干脆用haproxy ,功能也很好。