在之前,我们对lnmp架构中的php进行了加速提升,我们使用了memcache,那么如何进一步提升访问网站的速度呢?
我们可以对nginx进行加速提升,使nginx也支持memcache 第一步,nginx-fastcgi-php nginx得到数据给客户端,我们可以给nginx也复制一份数据,保存一份在自己的memcache中,再下一次有相同的请求时,nginx直接将自己缓存中的资源给用户。
但是nginx默认不支持memcache,所以我们需要借助openResty。
openResty是什么
OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。
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.停止nginx5.修改openResty的配置文件
(1)打开php模块
(2)打开让openResty识别本地的11211端口
并在括号外添加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+memcacheopenresty==
openResty是nginx的plus版,很多nginx做不到的事情,可以用openResty来做
加上nginx缓存之后,访问index.php和example.php都比之前更快了。
来源:CSDN
作者:难得 yx
链接:https://blog.csdn.net/weixin_45649763/article/details/104595050