最近在玩负载均衡,nginx端已经配置好了,但是nginx的负载均衡有几个策略,其中我用的是指定权重,因为毕竟服务器的性能不平均,这样能够尽量让流量平均分配到多个服务器上。但是用指定权重的话,需要自己解决保持会话的问题,我决定的做法就是把session存在一个地方,几个服务器共同调用一个session,那么就能够保持会话。 那么在laravel框架下,共享session的配置需要哪些呢? 如果用的是redis来作为驱动,那么配置有: SESSION_DRIVER=redis REDIS_HOST=your_redis_host REDIS_PASSWORD=your_redis_password REDIS_PORT=your_redis_port APP_KEY=your_app_key 大概就是这5个,其中最容易忽视的就是APP_KEY,这个是由php artisan key:generate命令行生成的一组32位随机字符串。当时配置的服务器没有设置相同的APP_KEY导致同一个session在另外的服务器上无法识别,因为laravel的session是自己起的一套规则,其中加密用到了APP_KEY的值,所以APP_KEY务必一定一样,要不然session是无法在另外的服务器上读取的。


夏之日,冬之夜。百岁之后,归於其居。 冬之夜,夏之日。百岁之后,归於其室。 我们终将化为尘土,留下的都是点滴回忆。