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

南京驰铭做网站公司网站运营推广

南京驰铭做网站公司,网站运营推广,wordpress大数据插件,jsp网站开发工资文章目录 一、需求分析二、准备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.zhongyajixie.com/news/1051.html

相关文章:

  • 怎么做网站的浏览栏网站app免费生成软件
  • 闸北做网站公司我们公司在做网站推广
  • 新疆通汇建设集团有限公司网站alexa全球网站排名分析
  • 网站评论区怎么做百度竞价开户需要多少钱
  • 个人社保缴费基数查询优化大师如何删掉多余的学生
  • 为什么我的网站做不起来深圳网络推广网站
  • 平面设计与制作青岛百度推广优化
  • 私人做网站有什么用竞价账户托管哪家好
  • 国外比较好的资源网站百度推广平台登录
  • 网站建设定制网站建设公司免费发布推广的平台
  • sever2012做网站必应搜索引擎网址
  • 做网站收费标准点击量按效果付费的推广
  • phpstudy搭建网站教程上海专业seo排名优化
  • wordpress 插件 喜欢保定seo排名优化
  • 医疗网站不备案徐州seo代理计费
  • 网站制作与维护公司互联网广告营销
  • 滁州网站建设hi444做百度推广的网络公司广州
  • 薅羊毛做任务赚钱网站网站seo在线诊断分析
  • 郑州做网站电话谷歌首页
  • 网站之间如何做视频交换怎么做个人网页
  • 韩国教育网站模板网页设计效果图及代码
  • 计算机网络技术网站建设方向百度信息流代运营
  • 利用网站制作网页seo优化与推广招聘
  • apicloud影视源码宜昌网站seo收费
  • vr 做的网站乱码链接怎么用
  • 做食品行业网站浙江短视频seo优化网站
  • 可以用wpf做网站吗重庆seo全面优化
  • 联想电脑网站建设策划书关键词搜索工具好站网
  • 国家备案网查询系统武汉seo技术
  • 广州海珠建网站的公司郑州百度推广哪家好