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

设计师个人网站源码湖南全程电子化服务平台官网

设计师个人网站源码,湖南全程电子化服务平台官网,网站幕布拍照什么样子的,外贸网站建设论坛文章目录 1. 写在前面2. 下载安装openresty2.1 下载Openresty2.2 设置nginx启动 3. 嵌入lua脚本4. 实践5. 小结 1. 写在前面 当一个域名中衍生出多个服务的时候#xff0c;如果想要保持对外服务始终是一个域名#xff0c;则需要通过nginx反向代理来实现。如果在转发的时候需… 文章目录 1. 写在前面2. 下载安装openresty2.1 下载Openresty2.2 设置nginx启动 3. 嵌入lua脚本4. 实践5. 小结 1. 写在前面 当一个域名中衍生出多个服务的时候如果想要保持对外服务始终是一个域名则需要通过nginx反向代理来实现。如果在转发的时候需要对具体的规则进行一些逻辑运算的话则需要通过嵌入lua脚本来实现而nginx本身是不支持lua功能的目前可以通过 nginx lua module来实现Openresty来实现 我这里尝试使用Openresty来实现lua脚本嵌入逻辑实现nginx的请求转发。 2. 下载安装openresty 2.1 下载Openresty 下载可以按照官方文档的步骤进行具体的下载Openresty下载 - 使用虚拟机Centos的话可以直接参照Openresty-Centos # add the yum repo: wget https://openresty.org/package/centos/openresty.repo sudo mv openresty.repo /etc/yum.repos.d/openresty.repo# update the yum index: sudo yum check-update# install openresty sudo yum install -y openresty完成上面三步就完成了openresty的安装了此时进入到默认安装路径/usr/local/openresty/bin/可以直接使用./openresty直接启动。 2.2 设置nginx启动 使用openresty启动多少了我们平常使用的nginx有点差异所以可以通过导入nginx启动的程序到PATH中实现nginx启动。 PATH/usr/local/openresty/nginx/sbin:$PATH export PATH完成之后就可以直接使用nginx启动了。此时访问localhost可以直接看到openresty的页面。 3. 嵌入lua脚本 我们需要修改/usr/local/openresty/nginx/conf路径下的nginx.conf文件来实现。 server {listen 8088;server_name localhost;location / {access_by_lua_block {percent 50if math.random(0,100) percent thenreturn ngx.exec(8080)elsereturn ngx.exec(9090)end}}location 8080 {proxy_pass http://127.0.0.1:8080;add_header Redirect true;}location 9090 {proxy_pass http://127.0.0.1:9090;add_header Redirect true;} }上面的lua命令是openresty的lua-nginx-module所支持的这个命令的含义如下 Acts as an access phase handler and executes Lua code string specified in { lua-script } for every request. The Lua code may make API calls and is executed as a new spawned coroutine in an independent global environment (i.e. a sandbox). 充当访问阶段处理器并为每个请求执行{Lua-script}中指定的Lua代码字符串。Lua代码可以进行API调用并在独立的全局环境即沙箱中作为新的派生协程执行。 简单来说这个命令就是在请求转发的维护执行会解析lua并执行lua中的命令。 lua-nginx-module还支持很多lua的命令具体可以参照https://github.com/openresty/lua-nginx-module 上面的lua脚本的含义随机将请求转发到8080和9090并在response的响应头加上Redirect:true。 ngx.exec()这个命令相当于执行API的调用**syntax:** *ngx.exec(uri, args?)*这里的API可以是具体的路径也可以是我们配置的location路径第二个参数为请求的参数。 4. 实践 编写了两个gin的程序分别监听8080和9090端口。 func main() {engine : gin.Default()engine.GET(/, func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{code: 0,msg: success,data: hello world from 8080 port,})})engine.Run(:8080) }func main() {engine : gin.Default()engine.GET(/, func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{code: 0,msg: success,data: hello world from 9090 port,})})engine.Run(:9090) }按照脚本的逻辑请求8088的时候我们的请求会按照50%的概率分别被转发到8080和9090的服务。 5. 小结 通过对Openresty的简单尝试发现nginxlua的组合可以帮助我们实现更多特定的转发逻辑本次只是针对概率对不同的API进行转发通过在请求访问nginx的最尾端实现了lua脚本的按概率转发。除了这一个脚本Openresty的nginx-lua-module还支持很多诸如init_worker_by_lua、content_by_lua_block、set_by_lua_block等一些十分有用的可以嵌入lua脚本的命令。后续如果再遇到一些更复杂的转发特定逻辑不妨考虑使用一下其他的命令来帮助我们实现。
http://www.w-s-a.com/news/801278/

相关文章:

  • 网站根 html网站建设行业数据
  • 网站公司做的网站有最字设计说明室内设计
  • 在线网站代码生成我想做个百度网站怎么做
  • 网站的建设费用分为长治市建设厅官方网站
  • 做网站都有哪些费用建设免费手机网站
  • 网站 组成代码做网站图片怎么插
  • 2020中国企业500强榜单南宁seo标准
  • 北美购物网站排名烟台专业的网站建站公司
  • 门户网站设计特点营销策划咨询机构
  • 天津做网站就到徽信xiala5中国营销型网站
  • 外汇网站建设制作深圳三站合一网站建设
  • 深圳坂田网站设计公司有哪些学校网站建设管理办法
  • 太原建设银行网站中山营销型网站设计
  • 广东省建设厅官方网站多少钱江苏省江建集团有限公司建设网站
  • 网站开发主流服装网站开发课程设计
  • 在iis里面创建网站wordpress响应式视频
  • 学设计哪个网站好网页设计音乐网站
  • 可以自己做斗图的网站上海模板建站多少钱
  • 山东川畅信息技术有限公司网站建设网站开发任务书
  • 网站排版设计欣赏搭建公司介绍网站
  • 网站弹窗是怎么做的长沙智优营家
  • 手机网站菜单设计模板菜单网站图片素材
  • 浙江网站推广爱企查企业查询入口
  • 公司网站平台vs2012网站开发课程设计
  • 哪些方法可以建设网站做网站失败
  • 龙岗网站建设技术wordpress左右两栏
  • 电子商务网站开发与应用的介绍怎么查询域名是否备案
  • 想做一个自己设计公司的网站怎么做的权威发布型舆情回应
  • 做ppt用的音效网站python基础教程网易
  • 可以做免费广告的网站有哪些做视频赚钱的国外网站