随着系统负载越来越大,一台服务器已经不足以承载用户的访问,在做负载均衡的时候,就会遇到session共享的问题,session是无状态的http能够记录用户身份,做好session共享是必要一步,直接分享经验。

  1. Phalcon是配置的更改,一般在没有最负载均衡之前,session会使用文件形式存储如下:
$di->set('session',function(){static $session; if ( empty($session) ) $session = new Phalcon\Session\Adapter\Files(); return($session);});

如果要将session存入redis中,更改其中适配器即可

$di->set('session',function(){static $session; if ( empty($session) ) $session = new Phalcon\Session\Adapter\Redis(); return($session);});
  1. 更改nosql(redis)服务器的接入地址,
$redis = new redis();
$redis->connect('这里是nosql服务器地址','这里是redis所使用的端口');
  1. 开放nosql(redis)服务器的redis端口的地址,如开放x.x.x.x:6379端口,在命令台中
vim /etc/sysconfig/iptables

进入编辑页面,在指定位置新增以下配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

修改完保存退出,重启网卡服务

service iptables restart

查看端口开放信息

service iptables status

phalcon redis phalcon redis使用_php

端口已经开放了

  1. 更改nosql服务器redis配置文件绑定的ip地址,将127.0.0.1修改成0.0.0.0,重启redis服务

至此,session共享做完了,在业务服务器中,存储/读取session的时候都是使用这台服务器就可以了