
memcache实现php会话保持
编译配置:
发布日期:2025-04-13 16:13:18
浏览次数:10
分类:精选文章
本文共 2389 字,大约阅读时间需要 7 分钟。
Haproxy RR轮询调度与PHP会话管理优化配置实践
实验目标
通过配置Haproxy实现RR轮询调度,将用户会话ID保持不变,实现两台lamp服务器的负载均衡。
版本信息
- Haproxy版本:haproxy-1.5.4-3.el6.x86_64(yum安装)
- memcached版本:memcache-1.4.15-9.el7_2.1.x86_64(yum安装)
- LAMP环境:httpd-2.4.9、mariadb-5.5.36、php-5.4.26(编译安装)
- PHP memcache扩展:memcache-2.2.7(编译安装)
环境搭建
PHP安装(其他安装步骤可略)
./configure --prefix=/usr/local/php-5.2.26 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php-5.2.26 --with-bz2
- memcache扩展安装:
- 修改php.ini:
- httpd配置:
- 启用模块:
- 修改配置:
- 测试脚本:
- Main frontend配置:
- 测试脚本:
tar xf memcache-2.2.7.tgzcd memcache-2.2.7./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache --make install
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
LAMP虚拟机配置
VirtualHost 192.168.1.30:80 DocumentRoot "/www/test1.com" ErrorLog "logs/dummy-test1.com-error_log" CustomLog "logs/dummy-test1.com-access_log" commonRequire all granted ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.30:9000/www/test1.com/$1
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
DirectoryIndex index.php index.htmlInclude /etc/httpd-2.4.9/extra/httpd-vhosts.confAddType application/x-httpd-php-source .phpsAddType application/x-httpd-php .php
PHP与Memcache连接测试
connect("192.168.1.25", 11211) or die("Could not connect");$version = $mem->getVersion();echo "Server's version: " . $version . "\n";$mem->set('hellokey', 'Hello World', 0, 600) or die("Failed to save data at the memcached server");echo "Store data in the cache (data will expire in 600 seconds)\n";$get_result = $mem->get('hellokey');echo "$get_result is from memcached server.";?>
访问01.php,若显示“Hello World is from memcached server”则连接成功。
会话存储到Memcache
修改php.ini:
session.save_handler = memcachesession.save_path="tcp://192.168.1.25:11211"
Haproxy配置
frontend main *:80 default_backend app backend app balance roundrobin server app1 192.168.1.13:80 check server app2 192.168.1.30:80 check
测试与验证
" . "192.168.1.13 web server";?>
访问02.php,观察输出结果区分两台lamp服务器IP地址。
通过以上配置和测试,验证haproxy RR轮询调度与PHP会话管理的正确性,确保用户会话ID保持不变。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月03日 14时16分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
mac M1 下安装docker 及相关镜像
2025-04-11
Mac M1 安装 TensorFlow 使用Python3.8
2025-04-11
Mac M1 芯片不兼容node-sass
2025-04-11
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
2025-04-11
mac m1安装MySQL
2025-04-11
mac m1导入cv2报错 正确的安装OpenCV的方法
2025-04-11
Mac mini7.1 2014年末 安装单windows 10系统
2025-04-11
Mac mini7.1 2014年末系统损坏开机跳出闪动带问候文件夹
2025-04-11
mac node版本管理
2025-04-11
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
2025-04-11
Mac OS X 上 Python 的框架和非框架构建之间的差异
2025-04-11
Mac OS X 中的 virtualenv 问题
2025-04-11
Mac OS X下Sublime Text (V2.0.1)破解
2025-04-11
Mac OS X汇编语言常识
2025-04-11
Mac os 如何安装SVN
2025-04-11
Mac OS下错误The superclass “javax.servlet.http.HttpServlet“ was not found on the Java Build Path的解决方法
2025-04-11
Mac os如何安装绿盾客户端
2025-04-11
mac php环境启动
2025-04-11
mac xmind 激活
2025-04-11