Nginx ("engine x") 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。Lua由標準C編寫而成,幾乎在全部操做系統和平臺上均可以編譯,運行,一個完整的Lua解釋器不過200k,在目前全部腳本引擎中,Lua的速度是最快的。二者的結合能夠開發出高性能的Web應用。 php
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 等都進行一致的高性能響應。
html
1.安裝openresty java
Ubuntu下: nginx
sudo apt-get install openresty
brew install homebrew/nginx/openresty
給openresty添加一個server配置 shell
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; } }
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
在剛纔配置的server根目錄下面建立一個文件,命名爲index.lua
ngx.say('<p>Hello world!</p>')