首頁 運維 linux運維 分享windows中openresty的介紹及使用詳解

分享windows中openresty的介紹及使用詳解

Jul 19, 2017 am 09:24 AM
openresty windows

OpenResty 它打包了標準的 Nginx 核心,很多的常用的第三方模組,以及它們的大多數依賴項。

如果需要nginx的第三方函式庫的時候,可以考慮OpenResty,可以少掉很多安裝的麻煩,OpenResty基本上安裝了常用的nginx第三方函式庫。

OpenResty的安裝:

安裝nginx 中rewrite模組等所需的外掛程式:

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

場景:對回傳值有要求的、介面屏蔽欄位、或做一些業務上的驗證等

#1、windows直接下載openresty 解壓縮即可,就完成了windows下使用lua的開發環境

2、設定:

a、在nginx.conf裡http下配置以下程式碼:

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、在nginx.conf同目錄建立lua.conf檔案專門存放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、在ngx根目錄下的lua資料夾裡建立「api」資料夾,並且在裡面新增userController .lua 處理檔案類,例如程式碼如下:

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)
登入後複製

以上是分享windows中openresty的介紹及使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1323
25
PHP教程
1272
29
C# 教程
1251
24
mysql怎麼複製粘貼 mysql怎麼複製粘貼 Apr 08, 2025 pm 07:18 PM

MySQL 中的複制粘貼包含以下步驟:選擇數據,使用 Ctrl C(Windows)或 Cmd C(Mac)複製;在目標位置右鍵單擊,選擇“粘貼”或使用 Ctrl V(Windows)或 Cmd V(Mac);複製的數據將插入到目標位置,或替換現有數據(取決於目標位置是否已存在數據)。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

Debian中Tigervnc支持哪些操作系統 Debian中Tigervnc支持哪些操作系統 Apr 12, 2025 pm 10:15 PM

開源VNC工具Tigervnc兼容眾多操作系統,其中包括Windows、Linux和macOS。本文將詳細介紹Tigervnc在Debian系統上的應用情況。 Tigervnc在Debian系統的應用系統集成:在Debian系統中,Tigervnc作為VNC服務器組件被集成到系統中。用戶可通過命令行工具(例如vncserver)啟動VNC服務,並自定義顯示設置,如分辨率和色彩深度。跨平台連接:Tigervnc客戶端支持Windows、Linux和macOS,這意味著用戶可以從任何運行這

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

如何解決Laravel中復雜的BelongsToThrough關係問題?使用Composer可以! 如何解決Laravel中復雜的BelongsToThrough關係問題?使用Composer可以! Apr 17, 2025 pm 09:54 PM

在Laravel開發中,處理複雜的模型關係一直是個挑戰,特別是當涉及到多層級的BelongsToThrough關係時。最近,我在處理一個多級模型關係的項目中遇到了這個問題,傳統的HasManyThrough關係無法滿足需求,導致數據查詢變得複雜且低效。經過一番探索,我找到了staudenmeir/belongs-to-through這個庫,它通過Composer輕鬆安裝並解決了我的困擾。

Mac系統中的系統維護與優化工具推薦 Mac系統中的系統維護與優化工具推薦 Apr 12, 2025 pm 04:45 PM

Mac 系統維護包括:磁盤管理(使用 OmniDiskSweeper 清理磁盤空間,用磁盤工具檢查磁盤錯誤)內存管理(用 Activity Monitor 監控內存佔用,結束佔用過高的進程)啟動項管理(用 Linc 或 LaunchControl 管理啟動項,禁用不必要的啟動項)系統緩存清理(用 CleanMyMac X 或手動清理系統緩存)軟件更新(及時更新系統和應用程序)定期備份(使用 Time Machine 定期備份數據)良好使用習慣(不過度安裝應用程序,定期清理文件,監控系統日誌)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

See all articles