博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenResty技术学习
阅读量:5919 次
发布时间:2019-06-19

本文共 1454 字,大约阅读时间需要 4 分钟。

hot3.png

OpenResty系统下载

提供支持win32版本

学习文档

OpenResty最佳实践

agentzh 的 Nginx 教程

nginx内置变量详解

Nginx API for Lua

lua-resty-mysql API

摘要

Lua语法

Lua具有一项与众不同的特性,允许函数返回多个值。Lua的库函数中,有一些就是返回多个值。返回多个值时,值之间用“,”隔开。

Nginx基础

多个location配置的情况下匹配顺序为

  • 首先匹配 =
  • 其次匹配 ^~
  • 其次是按文件中顺序的正则匹配
  • 最后是交给 / 通用匹配
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求

ReWrite语法

  • last – 基本上都用这个Flag
  • break – 中止Rewirte,不在继续匹配
  • redirect – 返回临时重定向的HTTP状态302
  • permanent – 返回永久重定向的HTTP状态301

代码片段

Nginx 支持不存在的php文件走thinphp伪静态规则

set $flag 0;if ($request_filename !~* "index\.php"){        set $flag "${flag}1";}if (!-f $request_filename) {       set $flag "${flag}2";}if ( $flag = "012"){        rewrite  ^/website/(.+\.php)$  /website/index.php/$1 last;}

Nginx 支持ThinkPHP

location ~ .+\.php($|/) {            root           /var/wwwroot;           set $script $uri;    set $path_info "/";    if ($uri ~ "^(.+\.php)(/.+)") {     set $script $1;     set $path_info $2;    }     fastcgi_pass 127.0.0.1:9000;     fastcgi_index index.php;     include fastcgi_params;     fastcgi_param PATH_INFO $path_info;     fastcgi_param SCRIPT_FILENAME $document_root/$script;     fastcgi_param SCRIPT_NAME $script;}

Nginx和lua配合判断request_filename是否存在

nginx

if (!-e $request_filename) {         set $filenotexist true;}

lua

if ngx.var.filenotexist then        ngx.var.filenotexist=nil;        local cururi=ngx.var.request_uri;        local uri='/'..webtype..'/index.php'..cururi;         ngx.req.set_uri(uri, true);end

 

转载于:https://my.oschina.net/jamesren/blog/854305

你可能感兴趣的文章
Vue基础之初识Vue
查看>>
Mysql 8.0版本驱动getTables返回所有库的表的问题
查看>>
ionic使用angularjs表单验证(模板验证)
查看>>
spring的父子上下文容器及配置
查看>>
复制粘贴发明者去世,50年前她就奠定Word的基本功能
查看>>
测试工程师的福利!各远程移动测试平台对比分析
查看>>
MySQL时间函数
查看>>
《Java编程思想》笔记2.一切都是对象
查看>>
python大佬养成计划----Django图书人物适配系统(后台)
查看>>
保存代码时格式化代码风格
查看>>
练就Java24章真经—你所不知道的工厂方法
查看>>
微信小游戏转发、分享等功能实现
查看>>
OCR如何读取皱巴巴的文件?深度学习在文档图像形变矫正的应用详解
查看>>
想知道Java与内存的关系?这篇文章全部告诉你
查看>>
Java知识点总结(反射-介绍)
查看>>
微信第三方应用平台授权公众号/小程序
查看>>
计算机基础知识
查看>>
【刷算法】扑克牌顺子
查看>>
JS -- sort()方法实现对象数组的排序
查看>>
如何用启动界面给用户创造出色的第一印象
查看>>