您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)如何使用Nginx+Lua進(jìn)行Web開發(fā)的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
Nginx ("engine x") 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器。因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。Lua由標(biāo)準(zhǔn)C編寫而成,幾乎在所有操作系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行,一個(gè)完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。兩者的結(jié)合可以開發(fā)出高性能的Web應(yīng)用。
使用Nginx+Lua進(jìn)行Web開發(fā)
Openresty就把nginx和lua結(jié)合在了一起,OpenResty 是一個(gè)基于 Nginx 與 Lua 的高性能 Web 平臺(tái),其內(nèi)部集成了大量精良的 Lua 庫、第三方模塊以及大多數(shù)的依賴項(xiàng)。用于方便地搭建能夠處理超高并發(fā)、擴(kuò)展性極高的動(dòng)態(tài) Web 應(yīng)用、Web 服務(wù)和動(dòng)態(tài)網(wǎng)關(guān)。
OpenResty 通過匯聚各種設(shè)計(jì)精良的 Nginx 模塊(主要由 OpenResty 團(tuán)隊(duì)自主開發(fā)),從而將 Nginx 有效地變成一個(gè)強(qiáng)大的通用 Web 應(yīng)用平臺(tái)。這樣,Web 開發(fā)人員和系統(tǒng)工程師可以使用 Lua 腳本語言調(diào)動(dòng) Nginx 支持的各種 C 以及 Lua 模塊,快速構(gòu)造出足以勝任 10K 乃至 1000K 以上單機(jī)并發(fā)連接的高性能 Web 應(yīng)用系統(tǒng)。
OpenResty 的目標(biāo)是讓你的Web服務(wù)直接跑在 Nginx 服務(wù)內(nèi)部,充分利用 Nginx 的非阻塞 I/O 模型,不僅僅對 HTTP 客戶端請求,甚至于對遠(yuǎn)程后端諸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都進(jìn)行一致的高性能響應(yīng)。
1.安裝openresty
Ubuntu下:
sudo apt-get install openresty
Mac下:
brew install homebrew/nginx/openresty
2.配置nginx.conf
給openresty添加一個(gè)server配置
lua_package_path '/Users/M/workspace/lua/tuyang-lua/?.lua;;';
server {
listen 80;
server_name lua.tuyang.dev;
charset utf8;
#access_log logs/host.access.log main;
root /Users/M/workspace/lua/tuyang-lua;
location / {
index index.html index.htm index.php;
}
location ~ ^/app/([-_0-9a-zA-Z]+) {
lua_code_cache off;
default_type 'text/plain';
content_by_lua_file $document_root/$1.lua;
}
}
lua_package_path設(shè)置lua腳本搜尋路徑,相當(dāng)于Java中的classPath
location ~ ^/app/ 所有/app路徑的url請求都將被該location攔截并響應(yīng)
lua_code_cache off 關(guān)閉lua腳本緩存,這樣在開發(fā)過程中,修改了lua腳本之后,不用重啟服務(wù)器就可以看到修改后的結(jié)果了
content_by_lua_file查找執(zhí)行的lua腳本
$document_root 定義的server根目錄,此時(shí)為/Users/M/workspace/lua/tuyang-lua
3.重啟下openresty服務(wù)器
sudo openresty -s reload
4.helloWorld教程
在剛才配置的server根目錄下面創(chuàng)建一個(gè)文件,命名為index.lua
ngx.say('
Hello world!
')
5.使用瀏覽器訪問
感謝各位的閱讀!關(guān)于“如何使用Nginx+Lua進(jìn)行Web開發(fā)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。