memcache解决session会话缓存问题(PHP编译安装的)

本文介绍了如何使用memcache解决PHP session在多台服务器间的共享问题,详细阐述了从环境准备到memcache的安装配置,再到客户端的部署和session共享的验证过程。
摘要由CSDN通过智能技术生成

企业级memcache解决session会话共享问题(PHP编译安装的)

一、session共享问题介绍

session主要用于服务端存储用户会话信息,cookie用于浏览器存储用户会话信息。单系统服务session都存在同一个web容器中,例如tomcat中,用户请求都只访问这个容器中的session信息,除非容器挂了,否者不存在session取不到的情况。随着业务的扩展,应用用户的增加,当个容器存放系统应用消耗服务的cup和内存会不断增加,导致应用性能下降。此时考虑用nginx集群做应用的负载均衡请求分发,假设用ngnix集群三个服务,分别用A、B、C表示。按照未做session共享,仍然使用Servlet中HttpSession情景,假设此时访问的是A服务,那么session将存储在A服务中,此处如果A服务宕机,ngnix会将用户的请求分发到B或者C服务,但是B和C服务中没有存A存放的Session信息,那么用户访问的数据将会丢失。为了解决session数据丢失,需要将session共享,主流做法是将session存储在nosql数据库中,例如memcache、redis等。也有很多人通过spring session 实现共享,原理大致一样,下面主要实现了memcache缓存session共享。

二、环境准备

1.三台或四台虚拟机
[root@web01 ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

web01			10.0.0.7          	#web节点	

web02			10.0.0.8	   		#web节点

lb01		    10.0.0.5	   		#负载均衡

db01			10.0.0.51			#数据库服务和memcache服务端
2.编译安装nginx

第一个里程:下载nginx程序软件包

[root@web01 ~]# wget http://nginx.org/download/nginx-1.14.0.tar.gz
#解压
[root@web01 ~]# tar xf nginx-1.14.0.tar.gz

第二个里程:解决软件依赖问题

[root@web01 ~]# yum install openssl-devel pcre-devel -y
openssl-devel 		--- 为了让nginx服务可以实现https访问的功能
pcre-devel    		--- 兼容perl语言的正则表达式(^ shell:以什么开头  perl:^/)
                 	nginx使用时会应用一个参数rewrite 正则表达式信息(perl)

第三个里程:创建worker进程的管理用户组和用户

[root@web01 ~]# groupadd -g 666 www

[root@web01 ~]# useradd -u666 -g666 www

第四个里程:编译安装软件

#编译之前,创建程序目录
[root@web01 ~]# mkdir  /application
[root@web01 ~]# cd nginx-1.14.2
#初始化
[root@web01 nginx-1.14.2]# ./configure --prefix=/application/nginx-1.14.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
#进行软件的编译(将各个语言编写代码翻译成系统可以识别的二进制信息)
[root@web01 nginx-1.14.2]# make
#进行编译安装(将软件最终安装到系统中)
[root@web01 nginx-1.14.2]# make install

第五个里程:创建程序软链接

[root@web01 nginx-1.14.2]# ln -s /application/nginx-1.14/ /application/nginx

第六个里程:启动nginx服务

[root@web01 nginx-1.14.2]# /application/nginx/sbin/nginx
3.编译安装PHP

第一个里程:下载软件程序,并上传到虚拟机中

#下载地址
https://www.php.net/

第二个里程:下载依赖包

[root@web01 ~]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel  freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mhash mcrypt  -y 

第三个里程:解压和初始化

#解压并进入解压之后的目录
[root@web01 ~]# tar xf php-5.5.32.tar.gz
[root@web01 ~]# cd  php-5.5.32
#初始化
[root@web01  php-5.5.32
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值