Maison  >  Article  >  Opération et maintenance  >  Partager l'introduction et l'utilisation d'openresty dans Windows

Partager l'introduction et l'utilisation d'openresty dans Windows

零下一度
零下一度original
2017-07-19 09:24:575724parcourir

OpenResty regroupe le noyau standard de Nginx, de nombreux modules tiers couramment utilisés et la plupart de leurs dépendances.

Si vous avez besoin de bibliothèques tierces nginx, vous pouvez envisager OpenResty, qui peut éviter de nombreux problèmes d'installation. OpenResty installe essentiellement les bibliothèques tierces nginx couramment utilisées.

Installation d'OpenResty :

Installez les plug-ins requis tels que le module de réécriture dans nginx :

apt-get install libreadline-dev libpcre3-dev libssl-dev perl build -essentiel

Scénarios : il existe des exigences concernant les valeurs de retour, les champs de protection de l'interface ou certaines vérifications commerciales, etc.

1 Téléchargez openresty directement depuis Windows et décompressez-le, et vous avez terminé d'utiliser. lua sous windows. Environnement de développement

2. Configuration :

a. Configurez le code suivant sous http dans nginx.conf :

include     mime.types;
default_type  application/octet-stream;
lua_package_path "/lualib/?.lua;;";  #lua 模块  
lua_package_cpath "/lualib/?.so;;";  #c模块   
include lua.conf;   #导入自定义lua配置文件
resolver 8.8.8.8;

b. Dans nginx, .conf crée un fichier lua.conf dans le même répertoire pour stocker spécifiquement la configuration de routage de Lua

#lua.conf  
server {  
	charset utf-8; #设置编码
    listen       80;  
    server_name  _;  
	location /user {  
		default_type 'text/html';  
		content_by_lua_file lua/api/userController.lua; #相对于nginx安装目录  
	} 
}    

c Créez le dossier "api" dans le dossier lua sous. le répertoire racine ngx et ajoutez la classe de fichier de traitement userController.lua à l'intérieur, par exemple le code est le suivant :

local request_method = ngx.var.request_method
local args = nil

--1、获取参数的值 获取前端提交参数
if "GET" == request_method then
    args = ngx.req.get_uri_args()
elseif "POST" == request_method then
    ngx.req.read_body()
    args = ngx.req.get_post_args()
end

--2、组合url请求Get/Post请求 并获取参数  
local http = require "resty.http"  
local httpc = http.new()  
local url = "http://xxxxx/user/login/"..args["userid"].."/"..args["pass"]
local resStr --响应结果  
local res, err = httpc:request_uri(url, {  
    method = "GET",  
    --args = str,  
     body = "a=1&b=2",
    headers = {  
       ["Content-Type"] = "application/json",  
    }  
})  

--3、开始重新组合参数 例子 可根据返回的JSON自己处理
local cjson = require "cjson"
local sampleJson = [[{"age":"23","testArray":{"array":[8,9,11,14,25]},"Himi":"himigame.com"}]];
--解析json字符串
local data = cjson.decode(sampleJson);
--打印json字符串中的age字段
ngx.say(data["age"]);
--打印数组中的第一个值(lua默认是从0开始计数)
ngx.say(data["testArray"]["array"][1]);  


--4、打印输出新返回值
ngx.say(res.body)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn