摘要:關(guān)于的基本介紹,大家可以去看我之前寫(xiě)的一篇文章。對(duì)于一個(gè)懶人來(lái)講,我是無(wú)法容忍這些繁冗的動(dòng)作的。并且根據(jù)客戶端的支持情況,以壓縮的方式發(fā)送出去。專門為設(shè)計(jì)是的,這才是重點(diǎn)。裝好后你的服務(wù)器上會(huì)多一個(gè)名為的命令,我們就用它來(lái)啟動(dòng)服務(wù)。
原文地址:http://www.l4zy.com/posts/new...
好久沒(méi)有更新 Logecho 了,最近把它狠狠地更新了一次。
關(guān)于 Logecho 的基本介紹,大家可以去看我之前寫(xiě)的一篇文章。目前你看到的這個(gè)站點(diǎn)也是用 Logecho 搭建的。相比于 Typecho 我個(gè)人還比較習(xí)慣于使用這類靜態(tài)博客工具來(lái)發(fā)布我的文章,因?yàn)槲乙呀?jīng)習(xí)慣于在編輯器里來(lái)寫(xiě)各類文字,感覺(jué)也很舒服。
但是各類靜態(tài)博客工具的部署很麻煩,要不然需要你自己去配置一臺(tái)http服務(wù)器?;蛘叻诺絞ithub這類的網(wǎng)站上,還需要你熟悉git命令。對(duì)于一個(gè)懶人來(lái)講,我是無(wú)法容忍這些繁冗的動(dòng)作的。于是,我對(duì) Logecho做 了一些調(diào)整,讓你我可以舒心的撰寫(xiě)文字,不必再去搞那些幺蛾子。
Logecho現(xiàn)在的安裝步驟首先最大的優(yōu)化就是我讓 Logecho 支持了composer,所以你不需要再去手動(dòng)配置代碼即可隨時(shí)使用或者更新這一工具了。如果你已經(jīng)安裝過(guò)了composer并且配置好了的話,可以直接跳到第三步。
第一步,安裝composer安裝起來(lái)非常簡(jiǎn)單,如果你沒(méi)有安裝composer,在macosx下可以用brew安裝
brew install composer第二步,配置composer的bin目錄
然后我們需要把composer的bin路徑加入到系統(tǒng)路徑里,在Linux或者OSX上打開(kāi)bash配置文件(應(yīng)該是~/.bashrc或者~/.bash_profile之類,不同的系統(tǒng)各不相同),加入
export PATH="$PATH:~/.composer/vendor/bin"
加入完以后記得source一下配置文件,或者重新啟動(dòng)一個(gè)會(huì)話讓配置生效
如果是Windows系統(tǒng),需要到系統(tǒng)變量里把這個(gè)路徑加到Path變量里,一般是C:Users
AppDataRoamingComposervendorin ,你也可以參考這里
在各大Linux下的官方源里也已經(jīng)集成進(jìn)去了,直接安裝就行。其它操作系統(tǒng)參考官方文檔。
第三步,安裝Logecho安裝完composer后,再安裝Logecho即可
composer global require joyqi/logecho:*
好了,所有的步驟都已完成,你可以直接在命令行下輸入logecho命令來(lái)使用這一工具了。具體使用方法參考我寫(xiě)的前一篇介紹,如果你想升級(jí)直接執(zhí)行上方的命令即可。
Logecho Simple Server好了,上面只是對(duì)一些歷史問(wèn)題的糾正,這讓你使用起來(lái)更加方便,但是真正稱為殺手級(jí)應(yīng)用的是標(biāo)題中所說(shuō)的“Logecho Simple Server”。
特點(diǎn)這也是我剛剛寫(xiě)的一個(gè)小的 node.js 程序,它是除了是一個(gè)迷你的web服務(wù)器以外,還具有如下特點(diǎn)
一個(gè)完整的服務(wù)器是的,雖然它很小,但是它的的確確是一個(gè)完整的服務(wù)器,你可以放心地把它部署到生產(chǎn)環(huán)境中而不需要其它服務(wù)器軟件的輔助。當(dāng)然如果你服務(wù)器還運(yùn)行了其它諸如 nginx,apache 之類的服務(wù)器,你也可以把它放到后端,然后做一個(gè)反向代理。
部署方便安裝只需要一行命令(前提是你地服務(wù)器上已經(jīng)安裝了 node.js 環(huán)境)
npm install -g logecho-simple-server沒(méi)有配置文件
是的,我個(gè)人很討厭配置文件。既然這個(gè)服務(wù)器名字里帶了一個(gè)Simple,那么就不應(yīng)該有配置文件這么復(fù)雜的東西存在。所以所有的配置都通過(guò)參數(shù)完成,而且它的參數(shù)也不多,大多數(shù)工作它都替你智能完成了。
速度快這個(gè)服務(wù)器不需要任何文件系統(tǒng)的支持,因?yàn)樗械臄?shù)據(jù)都存儲(chǔ)在內(nèi)存中。你可能擔(dān)心那內(nèi)存不是要被撐爆了,其實(shí)不會(huì)。因?yàn)檫@個(gè)它是設(shè)計(jì)給單人使用的,這就決定了它的容量不會(huì)很大,根據(jù)我們的測(cè)算一個(gè)人的數(shù)據(jù)大概也就在幾兆到幾十兆之間,這是完全可以接受的。
而它帶來(lái)的好處是巨大的,首先是速度快,沒(méi)有任何磁盤 IO 讓它可以以非常快的速度響應(yīng),并且支撐相當(dāng)恐怖的訪問(wèn)量。其次,你可以把它部署在任何支持 node.js 的云服務(wù)上,而不用擔(dān)心它的數(shù)據(jù)如何存儲(chǔ)。
針對(duì) http 協(xié)議,我也做了優(yōu)化,所有的資源文件都會(huì)設(shè)置緩存的http header。并且根據(jù)客戶端的支持情況,以壓縮的方式發(fā)送出去。
專門為 Logecho 設(shè)計(jì)是的,這才是重點(diǎn)。一款專門為 Logecho 設(shè)計(jì)的服務(wù)器,想要同步文件只需要打開(kāi)本地博客目錄中的config.yaml文件,找到sync:這一行,把它改為如下這種
sync: http://[email protected]
其中xxxxxxxxxxxxxxxxx是密鑰,用來(lái)驗(yàn)證你是否是這臺(tái)服務(wù)器的主人,服務(wù)端和客戶端的要一致。配置正確以后,每次想同步的時(shí)候執(zhí)行一下命令即可
logecho sync blog-dir/使用
用上面所說(shuō)的一行命令,在你的服務(wù)器上安裝好以后,就可以很方便的來(lái)使用了。裝好后你的服務(wù)器上會(huì)多一個(gè)名為 logechod 的命令,我們就用它來(lái)啟動(dòng)服務(wù)。
$ logechod 2015-03-24T14:26:35.492Z - info: The secure key is: 2369097d-c761-4fbb-93a1-d375e7cea5fa 2015-03-24T14:26:35.493Z - info: Listening on 0.0.0.0:80
如果你沒(méi)有運(yùn)行其它的http服務(wù)的話,直接運(yùn)行這個(gè)命令,服務(wù)器就會(huì)啟動(dòng)了。你會(huì)看到上面的信息,比如它會(huì)告訴你監(jiān)聽(tīng)地址,以及密鑰。這個(gè)密鑰是隨機(jī)生成的,每次運(yùn)行都會(huì)不一樣,如果你想固定的話可以使用-k參數(shù)手動(dòng)指定。
這個(gè)時(shí)候在瀏覽器里訪問(wèn)你的服務(wù)器,會(huì)看到如下畫(huà)面
這是因?yàn)槟氵€沒(méi)有往服務(wù)器里同步任何數(shù)據(jù),用上面的同步命令同步以后就可以看到內(nèi)容了。下面是一些常用參數(shù)
-k 指定密鑰,如不指定則會(huì)隨機(jī)生成
-h 指定監(jiān)聽(tīng)地址,如127.0.0.1,默認(rèn)0.0.0.0
-p 指定監(jiān)聽(tīng)端口,默認(rèn) 80
--prefer-host= 指定最佳域名,服務(wù)器會(huì)默認(rèn)把不屬于這個(gè)域名的請(qǐng)求跳轉(zhuǎn)到指定域名上
--ip-address= 指定獲取客戶端ip的header頭,如果不指定服務(wù)器會(huì)把連接的ip作為地址,但是如果你把服務(wù)器放在某些反向代理的后面,那就需要傳遞一個(gè)header頭過(guò)來(lái)告訴它真正的ip地址是多少
--http-to-https= 只有當(dāng)啟用https訪問(wèn)的時(shí)候才會(huì)生效,監(jiān)聽(tīng)一個(gè)指定的http端口,從而將http的訪問(wèn)請(qǐng)求重定向到https上
--https-key= https的密鑰
--https-cert= https的證書(shū)
--perform-resource=yes 是否開(kāi)啟資源優(yōu)化模式,默認(rèn)開(kāi)啟。
關(guān)于資源優(yōu)化模式這是一個(gè)很好用的功能,所以我默認(rèn)把它開(kāi)啟了。它會(huì)深度分析你的所有資源文件,首先計(jì)算它們各自的hash值,并建立索引。然后再找出它們之間的引用關(guān)系,最后利用上面索引過(guò)的hash值給他們的url后面加上戳記,什么意思呢?比如下面的html文件
服務(wù)器會(huì)找到/public/style.css這個(gè)文件并獲取它的hash值,然后再將它標(biāo)記回原來(lái)的html文件中
這樣有什么用呢?上面說(shuō)過(guò),服務(wù)器會(huì)自動(dòng)給所有的資源文件都加上緩存的http header,如果是以前的寫(xiě)法,下次你改變了這個(gè)文件,瀏覽器還是會(huì)從緩存文件中去取。因?yàn)樗膗rl沒(méi)有改變,但如果按上述方法處理,每次修改都必然帶來(lái)hash值的改變,那么瀏覽器就會(huì)強(qiáng)行更新這個(gè)文件的緩存了。
目前資源優(yōu)化模式會(huì)對(duì)html和css文件起作用。
寫(xiě)在最后這個(gè)系統(tǒng)肯定還有很多 bug 未解決,歡迎大家跟我探討。另外這個(gè)系統(tǒng)是使用英文書(shū)寫(xiě),由于水平有限,很多用詞都屬于Chinglish,歡迎有這方面基礎(chǔ)的童鞋來(lái)提交pull request幫忙完善。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/31920.html
摘要:邊云協(xié)同是物聯(lián)網(wǎng)的未來(lái)大趨勢(shì)。如今在四個(gè)行業(yè)發(fā)布了多個(gè)測(cè)試床,新增個(gè),包括邊緣智能邊云協(xié)同和邊緣安全創(chuàng)新等領(lǐng)域。邊云協(xié)同是能夠促使邊緣計(jì)算行業(yè)快速發(fā)展的一個(gè)主要因素之一。張宇博士認(rèn)為,這就是物聯(lián)網(wǎng)發(fā)展的摩爾定律。大量物聯(lián)網(wǎng)設(shè)備所產(chǎn)生的數(shù)據(jù)洪流加大了云端的存儲(chǔ)和計(jì)算壓力,因此有人提出將存儲(chǔ)和計(jì)算在邊緣端完成的策略,邊緣計(jì)算在兩年前應(yīng)運(yùn)而生,經(jīng)過(guò)兩年發(fā)展目前已經(jīng)在安防和工業(yè)領(lǐng)域初見(jiàn)成果,IDC預(yù)...
摘要:引擎可以用標(biāo)準(zhǔn)解釋器或即時(shí)編譯器來(lái)實(shí)現(xiàn),即時(shí)編譯器以某種形式將代碼編譯為字節(jié)碼。這里的主要區(qū)別在于不生成字節(jié)碼或任何中間代碼。請(qǐng)注意,不使用中間字節(jié)碼表示法,不需要解釋器。這允許在正常執(zhí)行期間非常短的暫停。 本系列的第一篇文章重點(diǎn)介紹了引擎,運(yùn)行時(shí)和調(diào)用棧的概述。第二篇文章將深入V8的JavaScript引擎的內(nèi)部。我們還會(huì)提供一些關(guān)于如何編寫(xiě)更好的JavaScript代碼的技巧。 概...
摘要:所以說(shuō)的模塊機(jī)制沒(méi)有解決文件依賴關(guān)系和文件異步加載的問(wèn)題。大部分團(tuán)隊(duì)還是停留在第二第三階段,每個(gè)階段的實(shí)現(xiàn)都有很多種選擇。希望這篇文章能夠激起大家永遠(yuǎn)保持積極向前追求完美代碼的心,不僅對(duì)自己的成長(zhǎng)也會(huì)對(duì)公司帶來(lái)無(wú)限的價(jià)值。 本篇技術(shù)博客來(lái)自有著化腐朽為神奇能力的,Worktile 技術(shù)牛人Web 總監(jiān) @徐海峰 大神的分享~滿滿的干貨,你值得擁有! Worktile 的前端構(gòu)建之路 2...
閱讀 1962·2021-11-24 09:39
閱讀 3542·2021-09-28 09:36
閱讀 3321·2021-09-06 15:10
閱讀 3478·2019-08-30 15:44
閱讀 1176·2019-08-30 15:43
閱讀 1826·2019-08-30 14:20
閱讀 2738·2019-08-30 12:51
閱讀 2059·2019-08-30 11:04