摘要:我們已經(jīng)用開發(fā)了版,還有微信版的應用,已經(jīng)運行幾個月了,很穩(wěn)定,上手也簡單,開發(fā)的時候不用編譯,直接啟動一個就搞定,部署的時候只需要幾的內存,還可以用做各種事情,高并發(fā)防火墻,直接跑在里面,簡直爽歪歪,有機會跟大家分享。示例代碼參見部分
這一章主要介紹怎么使用模板,進行后端渲染,主要用到了lua-resty-template這個庫,直接下載下來,放到lualib里面就行了,推薦第三方庫,已經(jīng)框架都放到lualib目錄里面,lua目錄放項目源碼,比較好管理,可以知道那些是項目的,哪些是第三方庫,可復用的
下載解壓到lualib目錄之后,就算安裝完成了,下面來試用一下,更詳細的可以到github上面看文檔
conf/nginx.conf
worker_processes 1; error_log logs/error.log notice; events { worker_connections 1024; } http { lua_package_path "/Users/john/opensource/openresty-web-dev/demo9/lua/?.lua;/Users/john/opensource/openresty-web-dev/demo9/lualib/?.lua;/usr/local/openresty/lualib/?.lua"; server { listen 80; server_name localhost; lua_code_cache off; location / { root lua; # 這個很重要,不然模板文件會找不到 default_type "text/html; charset=utf-8"; content_by_lua_file lualib/lite/mvc.lua; } location ~ ^/js/|^/css/|.html { root html; } } }
lua/index.lua
local template = require "resty.template" local _M = {} function _M.index() local model = {title = "hello template", content = "content
"} -- 1、外部模板文件 -- template.render("tpl/index.html", model) -- 2、內嵌模板代碼 template.render([[{{ title }} {* content *} ]], model) end return _M
lua/tpl/index.html
{{title}} {* content *}
跟spring mvc 有點像,指定一個 view , model,然后就可以渲染了,模板語法有很多種,{{ 變量 }} 會進行轉義,{ 不會轉義 },{% lua 代碼 %},跟jsp有點類似,但是很輕量,只有單個文件,更多用法可以到github上面看。
瀏覽器訪問 http://localhost/index ,輸出content
至此,服務端渲染就搞定了,已經(jīng)可以開發(fā)一些常見的web應用,使用openresty來做前端,然后通過http訪問后端的java,也可以在前端,直接訪問mysql、redis,只不過mysql只能做一些簡單的非事務操作,因為lua-resty-mysql這個庫不支持事務,我在github上面問過春哥了,當然如果你直接調用存儲過程,把事務放在過程里面控制的話也可以,現(xiàn)在你可以直接寫同步的代碼風格,就能獲得高并發(fā)、低消耗,非堵塞等各種好處。
我們已經(jīng)用openresty開發(fā)了pc版,還有微信版的web應用,已經(jīng)運行幾個月了,很穩(wěn)定,上手也簡單,開發(fā)的時候不用編譯,直接啟動一個nginx就搞定,部署的時候只需要10幾M的內存,還可以用openresty做各種事情,高并發(fā)api、web防火墻,直接跑在nginx里面,簡直爽歪歪,有機會跟大家分享。
示例代碼 參見demo9部分
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39432.html
摘要:中國開發(fā)者的年度盛會中國開發(fā)者大會,于年月日在杭州舉辦了本年度的杭會議我們的和將為在現(xiàn)場為您帶來現(xiàn)場的報道,一覽大牛風采,直擊技術熱點。簽到中第日的會議即將開幕以下是與參會者和與博文視點的作者們合影 中國JS開發(fā)者的年度盛會JS中國開發(fā)者大會,于2014年6月21日在杭州舉辦了本年度的杭JS會議! 我們SegmentFault的 @integ 和 @shamiao 將為在現(xiàn)場為您帶來...
摘要:前端每周清單半年盤點之與篇前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點分為新聞熱點開發(fā)教程工程實踐深度閱讀開源項目巔峰人生等欄目。與求同存異近日,宣布將的構建工具由遷移到,引發(fā)了很多開發(fā)者的討論。 前端每周清單半年盤點之 React 與 ReactNative 篇 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點;分為...
摘要:的面向的異常遵從通用的異常層次結構。比如以前常用的框架,現(xiàn)在常用的框架包含許多項目,下面挑一些最常用的出來總結一下。狀態(tài)是流程中事件發(fā)生的地點,在流程中通過轉移的方式從一個狀態(tài)到另一個狀態(tài),流程的當前狀況稱為流程數(shù)據(jù)。 如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產(chǎn)生,學起來給人一種凌亂的感覺,我就在這里總結一下,理順頭緒...
閱讀 3214·2023-04-25 18:43
閱讀 892·2021-11-24 09:39
閱讀 1361·2021-10-14 09:43
閱讀 3890·2021-09-22 15:58
閱讀 1899·2019-08-29 17:18
閱讀 410·2019-08-29 14:14
閱讀 3078·2019-08-29 13:01
閱讀 1616·2019-08-29 12:33