当前位置: 首页 > news >正文

高端网站建设口碑免费网站入口2021

高端网站建设口碑,免费网站入口2021,wordpress 导入文章,58同城泉州网站建设openResty简介: OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 OpenResty 通过汇聚各种设…

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 等都进行一致的高性能响应。

1、下载安装openresty

下载安装openresty。我使用的如下版本的

wget https://openresty.org/download/openresty-1.21.4.1.tar.gz

解压文件:tar -zvxf openresty-1.21.4.1.tar.gz

进入文件夹下:cd ./openresty-1.21.4.1

执行./configure

然后 make && make install

等待以上完成后。就可以到启动了。

具体启动的nginx服务目录在 openresty-1.21.4.1/nginx/sbin下。

启动命令如下:

./openresty-1.21.4.1/nginx/sbin/nginx -c ./openresty-1.21.4.1/nginx/conf/nginx.conf

2、配置lua文件

在nginx.conf中配置限流lua文件。

在你要限流的接口下增加。

location /xxx{

access_by_lua_file /x/x/x/access_by_redis.lua;

proxy_pass http://xxxx/;

}

3、编写lua限流内容

access_by_redis.lua文件内容如下:

local function close_redis(red)
    if not red then
        return
    end
    --释放连接(连接池实现)
    local pool_max_idle_time = 10000 --毫秒
    local pool_size = 100 --连接池大小
    local ok, err = red:set_keepalive(pool_max_idle_time, pool_size)

    if not ok then
        ngx_log(ngx_ERR, "set redis keepalive error : ", err)
    end
end

-- 连接redis
local redis = require('resty.redis')
local red = redis.new()
red:set_timeout(1000)

local ip = "127.0.0.1"  ---修改变量
local port = "6379" ---修改变量
local ok, err = red:connect(ip,port)
if not ok then
    return close_redis(red)
end
red:auth('密码')
local clientIP = ngx.req.get_headers()["X-Real-IP"]
if clientIP == nil then
   clientIP = ngx.req.get_headers()["x_forwarded_for"]
end
if clientIP == nil then
   clientIP = ngx.var.remote_addr
end

--ngx.say(clientIP)

--if clientIP == "101.231.137.70" then
--    ngx.exit(ngx.HTTP_FORBIDDEN)
--       return close_redis(red)
--    end
local request_uri = ngx.var.request_uri

-- 限制条件:user:用户ip:请求地址。做限制条件
local incrKey = "user:"..clientIP..":"..request_uri..":freq"
local blockKey = "user:"..clientIP..":block"

local is_block,err = red:get(blockKey) -- check if ip is blocked
--ngx.say(tonumber(is_block))
if tonumber(is_block) == 1 then
    --ngx.say(3)
    ngx.exit(403)
    --ngx.exit(ngx.HTTP_FORBIDDEN)
    close_redis(red)
end

inc  = red:incr(incrKey)

--5秒内有15次以上访问即视为非法,会阻止1分钟的访问

if inc < 15 then
   inc = red:expire(incrKey,5)
end

if inc > 15 then
    red:set(blockKey,1) --设置block 为 True 为1
    red:expire(blockKey,60)
end

close_redis(red)

http://www.yayakq.cn/news/275555/

相关文章:

  • 上线了如何制作网站网络服务器配置与管理考试题
  • 帮人做钓鱼网站以及维护wordpress程序怎么装
  • 北京专业网站设计推荐seo关键词
  • 温州平台网站建设外网加速器试用七天
  • 做网站用的软件是什么了珠海新盈科技网站建设
  • 做性视频大全在线观看网站成都定制网页设计公司
  • 韩城建设局网站wordpress woff
  • 玉树营销网站建设服务wordpress 公众平台
  • 网页制作优质网站一站式企业网站建设
  • 老榕树智能建站软件系统管理包括哪些内容
  • 中国网站建设公司排名哪些网站可以用来做百科参考
  • 仿模板电影网站手机百度网站证书过期
  • 丰县住房与城乡建设部网站站长分析工具
  • 电商网站开发岗位职责php 显示不同网站内容
  • 做网站的软件m开头61制作工厂网站
  • 昆山 网站东莞网站制作十强
  • 如何开始做婚恋网站网页设计可以自学吗
  • 国外做游戏的视频网站有哪些问题医院门户网站制作
  • 旅游网站建设实施方案内江做网站哪里便宜
  • 网站seo服务企业宣传软文
  • 一女被多男做的视频网站python做网站用什么软件
  • 网站一键建设建站经验
  • 太子河网站建设做网站属于什么备案
  • html做的网站怎么弄网站基础建设和管理暂行办法
  • 百度网站空间网站建设公司网
  • 广州市外贸网站建设网站子目录怎么做反向代理设置
  • 中国建筑建设通的网站wordpress怎么加js文件路径
  • 西安市网站制作公司可以仿做网站吗
  • 网站正在备案网站开发代淘宝店铺装修
  • 电影网站建设教程下载wordpress英文版下载