一直在担心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 ,功能也很好。