Home >Operation and Maintenance >Linux Operation and Maintenance >Share the introduction and use of openresty in windows

Share the introduction and use of openresty in windows

零下一度
零下一度Original
2017-07-19 09:24:575731browse

OpenResty It packages the standard Nginx core, many commonly used third-party modules, and most of their dependencies.

If you need nginx third-party libraries, you can consider OpenResty, which can save a lot of installation trouble. OpenResty basically installs commonly used nginx third-party libraries.

OpenResty installation:

Install the required plug-ins such as the rewrite module in nginx:

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

Scenarios: There are requirements for return values, interface shielding fields, or some business verification, etc.

1. Windows can directly download openresty and unzip it, and the use of lua under windows is completed. Development environment

2. Configuration:

a. Configure the following code under http in 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. In nginx.conf Create a lua.conf file in the same directory to specifically store Lua's routing configuration

#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. Create the "api" folder in the lua folder under the ngx root directory and add userController in it. .lua processes file classes, for example, the code is as follows:

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)

The above is the detailed content of Share the introduction and use of openresty in windows. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn