Linux下OpenResty实现反向代理及缓存加速

续我的上篇博文:https://mp.csdn.net/postedit/89669399即Memcache实现php页面的加速缓存已经配置好。

 

一、OpenResty简介:

 

  • OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
  • OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
  • OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。

 

二、实验环境(rhel6.5版本)

主机环境:rhel6.5 selinux 和iptables 都必须是disabled状态

各主机信息

主机名IP服务
server1172.25.83.1lnmp架构+memcache
物理机172.25.83.83用于测试

 

三、OpenResty实现反向代理及缓存加速

 

1、OpenResty的部署

 

(1)官网下载openresty安装包并解压

此步骤可以省略:[root@server1 ~]# nginx -s stop   #因为我之前做了lnmp架构的搭建,而openresty自带nginx,所以要停掉之前的nginx
[root@server1 ~]# tar zxf openresty-1.13.6.1.tar.gz

 

 

(2)编译安装

 

[root@server1 ~]# cd openresty-1.13.6.1   #进入解压目录
[root@server1 openresty-1.13.6.1]# ./configure   #预编译
[root@server1 openresty-1.13.6.1]# gmake && gmake install   #此处要用gmake而不是make(根据预编译的结果提示,使用gmake)

 

 

 

(3)拷贝index.php和example.php文件到openresty下的nginx的默认发布目录下
此处example.php文件是memcache模块中的,具体请查看我的上片博文:https://mp.csdn.net/postedit/89669399

 

[root@server1 openresty-1.13.6.1]# cd /usr/local/openresty/nginx/html/
[root@server1 html]# cp /usr/local/lnmp/nginx/html/index.php .
[root@server1 html]# cp /usr/local/lnmp/nginx/html/example.php .
[root@server1 html]# ls
50x.html  example.php  index.html  index.php

 

 

(4)编辑openresty配置文件

 

[root@server1 html]# cd ../conf/
[root@server1 conf]# pwd
/usr/local/openresty/nginx/conf
[root@server1 conf]# vim nginx.conf
#反向代理模块,keeepalive指令是指http-upstream-keepalive-module提供的功能,这里保持512个立即不关闭的连接用于提高性能
 17 http {      #在该http模块中加入19-22行的反向代理内容
 18     
 19     upstream memcache {
 20         server localhost:11211;
 21         keepalive 512;
 22     }
 23     
 24     include       mime.types;
 25     default_type  application/octet-stream;

 56         location /memc {   #在http模块中加入该location模块
 57             internal;     #internal:表示只接受内部网络,不接受外部http请求,如果需要接受访问可以使用allow,deny来控制
 58             memc_connect_timeout 100ms;    #与memcached服务器建立连接的超时时间。不得超过597 hours。   
 59             memc_send_timeout 100ms;   #设置发送请求到memcached服务器的超时时间。不得超过597 hours。
 60             memc_read_timeout 100ms;   #定义从memcached服务器读取响应超时时间。不得超过597 hours。
 61             set $memc_key $query_string;   #$memc_key:表示以什么key,这里使用nginx内置的$query_string来作为key
 62             set $memc_exptime 300;   #$memc_exptime为缓存失效时间
 63             memc_pass memcache;   #使用上面编写的以memcache为名字的方向代理内容
 64         }

 81         location ~ \.php$ {      #打开http模块中的该location模块,并进行修改。#~ \.php$:这个location配置了缓存,这表示所有以.php结尾的都会被缓存
 82             set $key $uri$args;
 83             srcache_fetch GET /mem $key;   #srcache_fetch:表示注册一个输入拦截处理器到location,这个配置进入时被执行
 84             srcache_store PUT /mem $key;   #srcache_store:输出拦截
 85             root           html;
 86             fastcgi_pass   127.0.0.1:9000;
 87             fastcgi_index  index.php;
 88             #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 89             include        fastcgi.conf;
 90         }

 

 

 

 

(5)检查配置文件是否语法错误

[root@server1 sbin]# pwd
/usr/local/openresty/nginx/sbin
[root@server1 sbin]# ./nginx -t   #检查语法错误

 

 

(6)语法无误后开启nginx,查看端口

[root@server1 sbin]# ./nginx 
[root@server1 sbin]# netstat -antulpe

 

 

2、测试

 

(1)网页测试:输入172.25.4.1

 

 

(2)访问速度测试

 

【1】、真机访问index.php,查看速度及出错情况

[root@foundation83 Desktop]# ab -c 10 -n 5000 http://172.25.83.1/index.php

 

 

比memcache模块中访问时速度稍微快点

 

【2】、真机访问example.php,查看速度及出错情况

[root@foundation83 Desktop]# ab -c 10 -n 5000 http://172.25.83.1/example.php

 

 

同样比memcache模块中访问速度要快

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值