作為程序員的你寥茫,值得擁有一個(gè)屬于自己的小站,更重要的是0成本顽耳、0月費(fèi)坠敷、0年費(fèi)嗯嗯妙同∩涓唬總之建站的宗旨是:用最低的成本支撐最多的流量。
當(dāng)然粥帚,不花錢肯定要付出其他的成本胰耗,比如一定要寫點(diǎn)代碼、優(yōu)化些配置之類的芒涡,但我認(rèn)為與其把動(dòng)手算作成本柴灯,不如算作自己的知識(shí)資產(chǎn),所以在技術(shù)選型的時(shí)候就決定去嘗試新語(yǔ)言费尽、新框架赠群、新優(yōu)化手段等等。哦旱幼,新指的是工作領(lǐng)域以外的知識(shí)查描,不是時(shí)間。
平臺(tái)
由于個(gè)人站在建立之初流量十分有限柏卤,國(guó)內(nèi)外幾家主流云供應(yīng)商動(dòng)輒數(shù)百元年費(fèi)顯得有點(diǎn)太猛冬三,一頓搜索之后發(fā)現(xiàn)Heroku有免費(fèi)的PaaS還送免費(fèi)流量,雖然有一點(diǎn)小限制但是解決并不困難缘缚,Heroku - Free Dyno 就它了勾笆!
語(yǔ)言和框架
我的工作語(yǔ)言是JAVA、C#和Python桥滨,所以直接排除窝爪;觀察Heroku支持的環(huán)境:PHP是世界上最好的語(yǔ)言,排除齐媒;Ruby和Python太像了酸舍,排除;Go和Clojure目前無(wú)感里初,排除啃勉。那么決定在Node.js和Scala里二選其一。
進(jìn)一步思考双妨,建個(gè)人站不太會(huì)面臨復(fù)雜的后端邏輯淮阐、性能瓶頸或者協(xié)作維護(hù)性等問(wèn)題叮阅,反而是前端表現(xiàn)層可能會(huì)花一些時(shí)間,那么隨Node.js而來(lái)的前后端語(yǔ)言一致性泣特、輕量的Web框架還有海量的開源組件浩姥,使我認(rèn)為它更值得一試。Okay状您,到GitHub上數(shù)星星...關(guān)鍵字Web CMS...語(yǔ)言選JavaScript... KeystoneJS 10k+勒叠!就它了!
開整
Keystone有中文教程膏孟!看 這里 眯分,寫的清楚明白,確保在本地能運(yùn)行起來(lái)網(wǎng)站之后柒桑,我們來(lái)配置Heroku弊决。
注冊(cè)、登錄Heroku賬戶魁淳,創(chuàng)建一個(gè)新App飘诗,別忘了起個(gè)響亮的站名,因?yàn)樵谀銢Q定購(gòu)買自己的域名之前界逛,你會(huì)用【站名.herokuapp.com】好久:)
服務(wù)器區(qū)域的話昆稿,歐洲還是美國(guó)目前看區(qū)別不大,任性的選吧息拜。
搞定之后安裝Heroku CLI溉潭,既然是寫基于Node的站點(diǎn),那隨手
$ npm install -g heroku-cli
安裝成功之后该溯,只需登陸一次就可以在任何目錄下使用Heroku CLI的功能了
$ heroku login
進(jìn)入到本地站點(diǎn)根目錄岛抄,初始化Git:
$ cd cny0/
$ git init
綁定到剛創(chuàng)建的Heroku App上:
$ heroku git:remote -a cny0
Push之后Heroku會(huì)自動(dòng)將最新的代碼部署到生產(chǎn)環(huán)境:
$ git push
另外也可以參照這里詳細(xì)的說(shuō)明 用Git部署到Heroku 。
訪問(wèn)一下站點(diǎn)狈茉,嗯夫椭?找不到MongoDB?別擔(dān)心氯庆,到Resources標(biāo)簽頁(yè)下添加一個(gè)叫mLab的插件蹭秋,就是MongoDB了
mLab同樣提供免費(fèi)檔:500MB
![免費(fèi)500MB MongoDB](https://res.cloudinary.com/dttbe5dma/image/upload/f_auto,q_50/v1506253278/mLabFree_gqj2j7.png)
Okay,配置完畢再次訪問(wèn)【站名.herokuapp.com】怎樣堤撵?開始裝修你的站點(diǎn)吧仁讨!
由于還在建設(shè)中,網(wǎng)站功能的添加实昨、優(yōu)化會(huì)不定期上線洞豁,喜歡的話可以追蹤我的個(gè)人站了解最新戰(zhàn)況 :) 隨時(shí)歡迎!