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