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

开发软件需要什么学历保定网站优化哪家好

开发软件需要什么学历,保定网站优化哪家好,企业形象设计公司,网上商城 网站文章目录 一、需求分析二、准备1、软件安装2、redis-lua封装优化 三、实现1、nginx.conf2、dynamic.lua注意 3、准备两个应用4、访问nginx 四、参数直接传要代理的地址端口 一、需求分析 根据用户访问url的参数,将请求转发到对应指定IP的服务器上。 二、准备 1、…

文章目录

  • 一、需求分析
  • 二、准备
    • 1、软件安装
    • 2、redis-lua封装优化
  • 三、实现
    • 1、nginx.conf
    • 2、dynamic.lua
      • 注意
    • 3、准备两个应用
    • 4、访问nginx
  • 四、参数直接传要代理的地址+端口

一、需求分析

根据用户访问url的参数,将请求转发到对应指定IP的服务器上。

二、准备

1、软件安装

安装openresty+redis,略

2、redis-lua封装优化

在关于web+lua+openresty开发中,项目中会大量操作redis,

重复创建连接–>数据操作–>关闭连接(或放到连接池)这个完整的链路调用完毕,
甚至还要考虑不同的 return 情况做不同处理,就很快发现代码中有大量的重复

推荐一个二次封装的类库
OpenResty使用Lua大全(四)OpenResty中使用Redis

三、实现

1、nginx.conf

worker_processes 4;events {worker_connections  1024;
}http {include       mime.types;default_type text/html;sendfile        on;keepalive_timeout  65;# 指定lua文件地址lua_package_path '/usr/local/openresty/nginx/conf/?.lua;;';server {listen       80;server_name  192.168.56.10;charset utf-8;location / {# 目标代理地址(动态生成)set $target '';# 执行luaaccess_by_lua_block {local proxy = require("dynamic")ngx.var.target = proxy.dynamicProxy()}proxy_pass http://$target;resolver 114.114.114.114;}}
}

2、dynamic.lua

local redis = require "resty.redis_iresty"
local _M = {_VERSION = '0.01'}local opts = {ip = "192.168.56.10",port = "6379",-- password = "root",db_index = 0
}local red = redis:new(opts)-- 封装函数,防止每次redis都要new
function _M.dynamicProxy()-- 获取url参数,通过client来获取redis的ip+端口local clientKey = ngx.req.get_uri_args()["client"]if not clientKey thenngx.exit(403)ngx.say("no param as client: ", err)returnend-- 根据client,获取到ip+端口local clientIP, err = red:get(clientKey)if not clientIP thenngx.exit(404)ngx.say("failed to connect redis: ", err)returnelseif clientIP == ngx.null thenngx.exit(404)ngx.say("failed to connect redis: ", err)returnend-- 将获取到的value赋值给target-- ngx.var.target = clientIPreturn clientIPendreturn _M

注意

这里防止new多次,能否提高性能表示存疑。

3、准备两个应用

192.168.56.1:8081、192.168.56.1:8082,分别在redis中设置:
client1:

4、访问nginx

在这里插入图片描述

在这里插入图片描述
至此,实现了根据请求参数进行动态路由转发。

四、参数直接传要代理的地址+端口

worker_processes 4;events {worker_connections  1024;
}http {include       mime.types;default_type text/html;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  192.168.56.10;charset utf-8;location / {# 目标代理地址(动态生成)set $target '';# 执行luaaccess_by_lua_block {local clientKey = ngx.req.get_uri_args()["client"]if not clientKey thenngx.exit(403)ngx.say("no param as client: ", err)returnendngx.var.target = clientKey}proxy_pass http://$target;resolver 114.114.114.114;}}
}
http://www.yayakq.cn/news/902559/

相关文章:

  • 网络营销相关的资源网站合肥
  • 企业做增资 网站平台小程序商城需要icp许可证吗
  • 网站团队青岛关键词排名推广
  • 网站开发研究生软件开发公司简介范文
  • 济南酷火网站建设深圳招聘官网
  • 广州定制型网站自己的产品怎么推广
  • 辽宁专业网站建设旅游网站建设的背景
  • 做网站好接活吗营销方案ppt模板
  • 域名和网站绑定海外网站
  • 沈阳市网站设计公司大全做课件用这15大网站
  • 济宁万达网站建设vip域名做网站好不好
  • 镇江网站建设 的公司360街景地图怎么看
  • 网站网站建设专业沈阳有几家正规男科医院
  • 蚌埠网站设计免费公司logo设计图
  • 长沙哪家公司做网站中铁建设集团门户网门户
  • 信息化建设官方网站wordpress免费别人无法访问
  • 公司网站经常打不开怎样刷新网站
  • 外贸网站源码 php南江县住房和城乡建设局网站
  • 江门网站设计找哪家购物网站含有哪些模块
  • 深圳做微信网站多少钱更新目录wordpress
  • 宁波做网站哪里专业react做的电商网站能上线吗
  • 网站建设依据沈阳行业网站
  • 网站建设初学软件互联网服务网站建设目的
  • 网站开发文案模板免费做宣传的网站是
  • 公司网站有中文域名吗武昌网站建设
  • 在国内的服务器上建设国外网站wordpress树形导航
  • 湖南网站建设找拉米拉免费做游戏小程序的网站
  • 视频网站自己做服务器net公司网站开发框架源代码
  • 网站站点断开多多短视频下载赚钱
  • 高端型网站制作wordpress做社交网站