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

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

零下一度
Libérer: 2017-07-19 09:24:57
original
5737 Les gens l'ont consulté

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;
Copier après la connexion

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安装目录  
	} 
}    
Copier après la connexion

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)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal