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

怎么做网站开发的方案网站引导动画怎么做的

怎么做网站开发的方案,网站引导动画怎么做的,大型免费网页游戏排行榜,网站建设的出发点1 、安装OpenResty 安装使用 OpenResty#xff0c;这是一个集成了各种 Lua 模块的 Nginx 服务器#xff0c;是一个以Nginx为核心同时包含很多第三方模块的Web应用服务器#xff0c;使用Nginx的同时又能使用lua等模块实现复杂的控制。 #xff08;1#xff09;安装编译工具… 1 、安装OpenResty 安装使用 OpenResty这是一个集成了各种 Lua 模块的 Nginx 服务器是一个以Nginx为核心同时包含很多第三方模块的Web应用服务器使用Nginx的同时又能使用lua等模块实现复杂的控制。 1安装编译工具、依赖库 [roottest1 ~]# yum -y install readline-devel pcre-devel openssl-devel gcc 2下载openresty-1.13.6.1.tar.gz 源码包并解压下载ngx_cache_purge模块该模块用于清理nginx缓存下载nginx_upstream_check_module模块该模块用于ustream健康检查。 cd /usr/local/ wget https://openresty.org/download/openresty-1.13.6.1.tar.gz tar -zxvf openresty-1.13.6.1.tar.gz cd openresty-1.13.6.1/bundle wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar -zxvf ngx_cache_purge-2.3.tar.gz wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gz tar -zxvf v0.3.0.tar.gz 3配置需安装的模块 # ./configure --help可查询需要安装的模块并编译安装 ./configure --prefix/usr/local/openresty --with-luajit --with-http_ssl_module --userroot --grouproot --with-http_realip_module --add-module./bundle/ngx_cache_purge-2.3/ --add-module./bundle/nginx_upstream_check_module-0.3.0/ --with-http_stub_status_module  make make install 5启动nginx /usr/local/openresty/nginx/sbin/nginx  -c /usr/local/openresty/nginx/conf/nginx.conf  随后打开浏览器访问页面。 6在Nginx上测试一下能否使用Lua脚本 vim /usr/local/openresty/nginx/conf/nginx.conf 在server里面加一个location /lua {default_type text/plain;content_by_lua ngx.say(hello,lua!); } 加完后重新reload配置。 在浏览器里输入 ip地址/lua出现下面的字就表示Nginx能够成功使用lua了 2 、安装Redis yum install -y redis systemctl start redis 3 、Lua访问Redis 1连接redis然后添加一些测试参数 redis-cli set 123 456 2编写连接Redis的Lua脚本 vim /usr/local/openresty/nginx/conf/lua/redis.lua local redis require resty.redis local conn redis.new() #根据自己情况写ip和端口号 conn.connect(conn, 192.168.20.205, 6379)       local res conn:get(123) if resngx.null thenngx.say(redis集群中不存在KEY——123)return end ngx.say(res) 3在nginx.conf配置文件中的server下添加以下location vim /usr/local/openresty/nginx/conf/nginx.conf location /lua_redis {default_type text/plain;content_by_lua_file /usr/local/openresty/nginx/conf/lua/redis.lua; } 随后重新reload配置。 4验证Lua访问Redis的正确性 在浏览器输入ip/lua_redis 如果能看到下图的内容表示Lua可以访问Redis。 准备工作已经完成现在要实现OpenRestyLuaRedis自动封禁并解封IP了。 4 、OpenRestyLua实现 1添加访问控制的Lua脚本只需要修改Lua脚本中连接Redis的IP和端口即可注意如果在Nginx或者OpenResty的上层有用到阿里云的SLB负载均衡的话需要修改一下脚本里的所有…ngx.var.remote_addr把remote_addr替换成从SLB获取真实IP的字段即可不然获取到的IP全都是阿里云SLB发过来的并且是处理过的IP同时这些IP全都是一个网段的根本没有办法起到封禁的效果 完整的Lua脚本如下所示。 vim /usr/local/openresty/nginx/conf/lua/access.lua local ip_block_time300 --封禁IP时间秒 local ip_time_out30    --指定ip访问频率时间段秒 local ip_max_count20 --指定ip访问频率计数最大值秒 local BUSINESS ngx.var.business --nginx的location中定义的业务标识符也可以不加不过加了后方便区分--连接redis local redis require resty.redis   local conn redis:new()   ok, err conn:connect(192.168.20.205, 6379)   conn:set_timeout(2000) --超时时间2秒--如果连接失败跳转到脚本结尾 if not ok thengoto FLAG end--查询ip是否被禁止访问如果存在则返回403错误代码 is_block, err conn:get(BUSINESS..-BLOCK-..ngx.var.remote_addr)   if is_block 1 thenngx.exit(403)goto FLAG end--查询redis中保存的ip的计数器 ip_count, err conn:get(BUSINESS..-COUNT-..ngx.var.remote_addr)if ip_count ngx.null then --如果不存在则将该IP存入redis并将计数器设置为1、该KEY的超时时间为ip_time_outres, err conn:set(BUSINESS..-COUNT-..ngx.var.remote_addr, 1)res, err conn:expire(BUSINESS..-COUNT-..ngx.var.remote_addr, ip_time_out) elseip_count ip_count 1 --存在则将单位时间内的访问次数加1if ip_count ip_max_count then --如果超过单位时间限制的访问次数则添加限制访问标识限制时间为ip_block_timeres, err conn:set(BUSINESS..-BLOCK-..ngx.var.remote_addr, 1)res, err conn:expire(BUSINESS..-BLOCK-..ngx.var.remote_addr, ip_block_time)elseres, err conn:set(BUSINESS..-COUNT-..ngx.var.remote_addr,ip_count)res, err conn:expire(BUSINESS..-COUNT-..ngx.var.remote_addr, ip_time_out)end end-- 结束标记 ::FLAG:: local ok, err conn:close() 2在需要做访问限制的location里加两段代码即可这里用刚才的/lua做演示 vim /usr/local/openresty/nginx/conf/nginx.conf 主要是添加如下配置: access_by_lua_file /usr/local/openresty/nginx/conf/lua/access.lua; 其中set $business “lua” 是为了把IP放进Redis的时候标明是哪个location的,可以不加这个配置。随后重新reload配置。 3打开浏览器访问192.168.20.205/lua 并一直按F5刷新。 随后连接Redis查看IP的访问计数。 发现redis已经在统计访问lua这个网页ip的访问次数了 这个key的过期时间是30秒如果30秒没有重复访问20次这个key就会消失所以说正常用户一般不会触发这个封禁的脚本。 当30秒内访问超过了20次发现触发脚本了变成了403 再次查看Redis的key发现多了一个lua-block-192.168.20.28过期时间是300秒,就是说在300秒内这个ip无法继续访问192.168.20.205/lua这个页面了。 过五分钟后再去访问这个页面又可以访问了。 这个脚本的目的很简单一个IP如果在30秒内其访问次数达到20次则表明该IP访问频率太快了因此将该IP封禁5分钟。同时由于计数的KEY在Redis中的超时时间设置成了30秒所以如果两次访问间隔时间大于30秒将会重新开始计数。
http://www.eeditor.cn/news/119645/

相关文章:

  • 网站开发团队 分工门户网站建设项目书
  • 九里微网站开发关键词爱站网
  • app推荐网站重庆建设建设工程信息网站
  • 常州网站建设企业网站制作盐山国外网站建设
  • 网站留言效果怎么做美团初期是怎么建网站
  • 做网站挂广告赚多少钱erp管理系统软件有哪些
  • 电子商务网站建设的步骤一般为(wordpress圆角插件汉化
  • 怎么样建设网站网站厦门推广平台较好的
  • 高端企业网站设计公司网站建设与管理试卷_
  • 南昌品牌网站建设android编程语言
  • 哈尔滨网站建设与管理用tomcat做网站目录
  • 网站代运营合同模板免费ppt模板下载无水印
  • 网站建设维护合同模板大同网页设计
  • 高端模板网站建设网站规划书包括哪些方面
  • 百度调整导致网站排名下降最美情侣高清免费视频播放
  • 公司网站自己可以学习优化吗wordpress 时间标题展示
  • 加微信群网站怎么做的网站推广做多大尺寸
  • 在线制作h5网页seo的优化策略有哪些
  • 做推广哪个食品网站好wordpress 添加设置方法
  • 微信建微网站搬瓦工的主机做网站
  • 上市公司数据查询网站免费网站中文源码下载
  • 杭州做服装电商拿货的网站wordpress 中英
  • 有哪些做网站公司wordpress 赞 分享
  • 我做网站编辑写文章很慢怎么办erp是什么意思
  • 南山网站建设方案书wordpress主要菜单
  • 网站建设qianhaiyou域名和网站建设实训报告
  • 广州建站模板手机排版软件app
  • 店铺装修设计网站wordpress 悬浮
  • 山东网站建设团队wordpress打赏代码
  • 中国观鸟记录的网站架构ui培训设计怎么样