企业架构LNMP学习笔记46

PHP测试连接代码:

php代码测试使用memcached:

示例代码:

addServer('192.168.17.114',11211);
//存数据
var_dump($mem->set('name','lnmp'));
//取数据
var_dump($mem->get('name'));

开始的时候连接失败:

到192.168.17.114服务器上进行检查,看到memcached进程没有启动:

./memcached -uroot -d

然后再使用php index.php命令运行:

[root@server01 public]# php index.php
bool(true)
string(4) "lnmp"

如果看到memcached类找不到,说明库没有安装好。学会分析问题,找原因。

企业架构LNMP学习笔记46_第1张图片

我们公司有这方面的php的业务,运维正常是掌握Shell和Python方面的。

企业案例实现:

1、session入memcached共享:

session为什么要共享:因为在分布式负载均衡架构中,web服务器间的session是不共享的,会造成session校验不一致,校验验证码不成功。登录之后session不一致,造成无法判断是否登录。

解决方案:

1)session生成校验在同一台服务器 nginx调度算法 ip_hash。

2)session共享,多台web服务器可以调用到session。

修改项目配置文件:

server01和server03都需要修改,并且web服务器都要安装好memcached扩展

vim /usr/local/nginx/html/tp5shop/application/config.php

企业架构LNMP学习笔记46_第2张图片

修改完成之后,之后的请求所生成的session,就被写入到memcached中了。

访问测试:

在memcached中,session_id作为key,session的内容作为value进行存储。

都是在业务代码中实现,服务架构中,只要按需配置即可。

把cookie中的session_id进行clear,就又返回到后台登录页面。

如果在memcached中把session_id进行删除,flush_all,那么又要重新登录页面。

用户的登录状态是要存到服务器,并不能存到客户端的cookie中。

企业架构LNMP学习笔记46_第3张图片

开发的时候才能理解到session和cookie的问题。

缓存热点数据:

把经常访问到的数据,发生变动较小 ,可以存储到内存缓存中,提供访问速度。

注意:修改web服务器的文件时,一定要修改web1和web2。

企业架构LNMP学习笔记46_第4张图片

企业架构LNMP学习笔记46_第5张图片

企业架构LNMP学习笔记46_第6张图片

get category命令。

做一个压测,把数据库压力体现出来。(以后有时间把压力测试,练习下。)

业务配置文件,最好是问清楚开发如何配置,或者让开发进行配置。

你可能感兴趣的:(PHP,Nginx,架构)