企业级lnmp架构讲解(五)openResty 实现web端的缓存优化

在之前,我们对lnmp架构中的php进行了加速提升,我们使用了memcache,那么如何进一步提升访问网站的速度呢?

我们可以对nginx进行加速提升,使nginx也支持memcache 第一步,nginx-fastcgi-php nginx得到数据给客户端,我们可以给nginx也复制一份数据,保存一份在自己的memcache中,再下一次有相同的请求时,nginx直接将自己缓存中的资源给用户。

但是nginx默认不支持memcache,所以我们需要借助openResty。

openResty是什么

在这里插入图片描述在这里插入图片描述

openResty的运行原理

1.Nginx 采用的是 master-worker 模型,一个 master 进程管理多个 worker 进程,基本的事件处理都是放在 woker 中,master 负责一些全局初始化,以及对 worker 的管理。

2.在OpenResty中,每个 woker 使用一个 LuaVM,当请求被分配到 woker 时,将在这个 LuaVM 里创建一个 coroutine(协程)协程之间数据隔离,每个协程具有独立的全局变量

搭建步骤

实验背景:与之前的博客的背景相同

1.在server1中解压openResty安装包
在这里插入图片描述
2.对openResty进行编译,编译方式与nginx一模一样

也可以指定编译的路径
在这里插入图片描述3.gmake && gmake install安装
在这里插入图片描述4.停止nginx在这里插入图片描述5.修改openResty的配置文件
在这里插入图片描述(1)打开php模块
在这里插入图片描述(2)打开让openResty识别本地的11211端口,11211是memcache的端口

在这里插入图片描述并在括号外添加keepalive 512 保持连接512秒

(3)设置openResty识别自己的memcache
在这里插入图片描述(4)
在这里插入图片描述6. 检查没有语法错误之后开启服务,查看端口

vim nginx.conf编辑openresty的配置文件
/usr/local/openresty/nginx/sbin/nginx -t检测语法
/usr/local/openresty/nginx/sbin/nginx 启动服务
ps ax查看进程

7.复制测试文件,保证对比openResty和普通nginx时,处在同一环境中

cp /usr/local/lnmp/nginx/html/example.php /usr/local/openRestynginx/html
cp /usr/local/lnmp/nginx/html/index.php /usr/local/openRestynginx/html

8.在nginx关闭的情况下,启动openResty

/usr/local/openresty/nginx/sbin/nginx

现在的web服务器是 nginx+memcache等于openresty

openResty是nginx的plus版,很多nginx做不到的事情,可以用openResty来做

在这里插入图片描述在这里插入图片描述加上nginx缓存之后,访问index.php和example.php都比之前更快了。

发布了264 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45649763/article/details/104595050