当需要为服务器增加一个自定义的扩展功能时,需要用到模块,相当于Nginx给开发者提供的一个模板范式。比如现在实现一个书签收藏网站的signin功能,用Flask框架可以这样实现:@app.route('/signin', methods=['GET', 'POST']) def web_signin(): if request.method == 'GET': return redire
ngx.say 打印ngx.req.get_uri_args() 获取get请求的参数(表)ngx.req.post_uri_args() 获取post请求的参数(表)require("resty.mysql") 引用resty.mysql模块ngx.quote_sql_str() 写SQL时,给字段赋值变量的时候将变量放入括号 -----------------------------
转载 2024-04-27 21:31:51
62阅读
实际开发中经常有根据请求参数来路由到不同请求处理者的情况,根据POST请求参数需要些nginx插件,这里主要简单介绍下如
原创 2022-06-16 08:38:08
2959阅读
场景有个查询项目详情接口 /projects/{name},正好我们要查询名称为 root/name 的项目,此时我们不能直接访问 /projects/root/name,这样会被系统误认为是要查询名称为 root 的项目。所以,在实际开发中需要将 root/name 先进行UrlEncode(编码)再拼接到url上,即 /projects/root%2fname最近在访问Nginx代理的服务时,
转载 2024-02-03 17:50:46
1215阅读
       Nginx由内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端的请求映射到一个location block,而location是Nginx配置中的一个指令,用于访问的URL匹配,而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。      &
转载 2024-03-06 16:57:33
95阅读
1.前言: 一般做nginx相关开发的人员都会在nginx里去写lua脚本去处理自定义的一些特殊的业务逻辑比如说:流量分发,自己用lua去写分发的逻辑,在分发层nginx里去写;再比如说;要用lua去写多级缓存架构存取的控制逻辑,在应用层nginx里去写的;还有热点数据的自动降级机制,也是用lua脚本在分发层nginx里去写去写降级机制的;因为我们要用nginx+lua去开发,所以会选择用最流行的
转载 2024-03-26 07:44:51
30阅读
因为公司业务需求用到rewrite 其中有一个是要把a.php?id=2重定向到b-2.html 开始简单的写为 rewrite "^/a(.*)?(.*)$"  /b-$2.html  permanent; 总是不能正确的301到b-2.html 查资料发现 重写只能针对请求的uri进行重写,/a.php问号后面的是请求参数,在nginx用$query_string表示,直接
原创 2011-11-18 01:48:16
2277阅读
FastCGI原理 FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache、Nginx和lighttpd等。同时,FastCGI也被许多脚本语言支持,其中就有PHP。FastCGI接口方式采用C/S结构,可以将HttP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进
转载 5月前
20阅读
一、重定向正则表达式匹配: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 flag标记: * last 相当于Apache里的[L]
nginx操作重启./nginx -s reload  nginx返回文本location ~ ^/get_text { default_type text/html; return 200 'This is text!'; }View Codenginx返回jsonlocation ~ ^/get_json { default_type applica
灰度发布,灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。Nginx+Lua 实现灰度发布一、概念灰度发布概念按照一
Vue 打包上线后的缓存问题问题描述大家用vue脚手架搭建前端工程时,常被缓存问题所困扰,具体的表现就是,当程序版本升级时,用户因为缓存访问的还是老的页面,然后很多同学很暴力的直接在index.html中加入了这几行代码:<meta http-equiv="Expires" content="0"> <meta http-equiv="Pragma" content="no-ca
转载 2024-10-23 11:20:18
55阅读
首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode
转载 2023-11-28 14:14:56
42阅读
1. 概要location /t { default_type text/html; echo abc; replace_filter 'ab|abc' X; } location / { # proxy_pass/fastcgi_pass/... # caseless global substitution: replace_filter '\
转载 2024-10-10 15:44:14
38阅读
在使用Python2时,我们习惯于在文件开头声明编码# coding: utf-8不然在文件中出现中文,运行时就会报错 SyntaxError: Non-ASCII character... 之类,这是因为python2的文件编码默认使用的ascii,ascii码是不支持中文的。如果在开头声明了编码,文件编码就会变为utf-8。python执行过程的编解码python使用的unicode
转载 2023-06-19 13:53:14
413阅读
描述encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。语法encode()方法语法:str.encode(encoding='UTF-8',errors='strict')参数encoding -- 要使用的编码,如: UTF-8。errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可
转载 2023-06-27 18:13:24
193阅读
encode()和decode()decode英文意思是 解码,encode英文原意 编码字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.deco
Encode编码:  Java是双字节编码utf-16be,中文占用2个字符,英文占用2个字符。  项目默认编码是GBK,中文占用2个字符,英文占用1个字符。  UTF-8编码:中文占用3个字符,英文占用1个字符。  文本文件就是字节序列,可以是任意编码的字节序六二,编码只是读取的方式,当字节序列是某种编码时,要把字节序列转换成字符串,也要用这种编码的方式,否则会发生乱码。package com.
转载 2023-10-07 21:28:05
121阅读
python内部的字符串一般都是 Unicode编码。代码中字符串的默认编码与代码文件本身的编码是一致的。所以要做一些编码转换通常是要以Unicode作为中间编码进行转换的,即先将其他编码的字符串解码(decode)成 Unicode,再从 Unicode编码(encode)成另一种编码。decode 的作用是将其他编码的字符串转换成 Unicode 编码,eg&nb
转载 2023-07-13 23:44:39
107阅读
      本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。ToolFk还支持  BarCode条形码在线生成、 QueryList采集器、 PHP代码在线运行、 PHP混淆、
  • 1
  • 2
  • 3
  • 4
  • 5