公司网站接入CDN, CDN有两个回源后端做负载均衡以及故障转移,经过测试,CDN的回源是按权重比例轮询的。
要解决用户session状态在不同后端回源时不丢失,造成重复登录。
解决方案:
session文件的同步
实施步骤
mkdir /php_session
chown www:www /php_session/
3、编写同步脚本
#!/bin/bash
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f %e' --event modify,delete,create,attrib /php_session | while read date time file event
do
rsync --chown=www:www --chmod=600 -a -e 'ssh -p 35389 -P ' $file root@192.168.10.3:/php_session/ > /dev/null
done
rsync --chown=www:www --chmod=600
将文件同步出去后,在目标机器上执行 同步文件的 所有者 与权限
4、定时任务增加守护脚本
#!/bin/sh
pid=(`ps -ef|grep moni|awk '{print $0}'`)
has=false
for info in ${pid[@]};
do
if [ $info == '/shell/monitor_tmp.sh' ]; then
has=true
fi
done
if [ $has == false ];then
/shell/monitor_tmp.sh &
echo "run script!"
fi
本文《基于文件的php跨机房session同步方案》由爱思考吧 isres.com 分享,转载请注明出处。本文网址:https://www.isres.com/peizhi/40.html
本站主要收集测评能够节省时间和提升效率的软件工具并分享使用与学习的过程和感受,任何情况下用户都需遵守所使用软件资源的相关协议。与《基于文件的php跨机房session同步方案》有关的本站文章及资源仅供个人学习交流使用,相关资源请下载后24小时内删除,请勿用于其它用途,因此产生的任何问题由您自行承担。