• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            loop_in_codes

            低調(diào)做技術(shù)__歡迎移步我的獨立博客 codemaro.com 微博 kevinlynx

            使用Lisp搭建獨立博客

            Author: Kevin Lynx
            Date: 9.29.2011
            Contact: kevinlynx at gmail dot com

            本文描述如何使用Lisp工具集搭建一個完整的個人博客站點。一個搭建好的例子站點可以參看我的個人博客:http://codemacro.com

            要搭建一個獨立博客,需要兩方面的支持。一是博客軟件,二是根據(jù)選擇的博客軟件取得必須的“硬件“。例如我這里使用的是Lisp工具集,就需要一個可以完全控制的服務(wù)器,所以這里我需要一個VPS。當(dāng)然,購買一個合適的域名也是必須的。以下將針對這些內(nèi)容做描述。

            獲取VPS及域名

            VPS提供商國內(nèi)國外都有很多。我選擇的是 rapidxen ,128M內(nèi)存,1年70來美元,算是國外比較便宜的,速度上還過得去。

            購買了VPS后,可以進(jìn)入后臺管理頁面安裝VPS操作系統(tǒng)。同樣,因為我使用的是Lisp,我選擇安裝了Debian 6.0 squeeze (minimal)64位。實際上我更傾向于32位,因為我的PC系統(tǒng)就是32位,方便測試。安裝系統(tǒng)非常簡單,基本隨意設(shè)置下即可。值得注意的是,除了修改root密碼外,最好修改下ssh端口,具體設(shè)置方法可以另行搜索。此外,因為后面我會使用nginx作為HTTP前端服務(wù)器,為了方便安裝nginx,最好更新下軟件源列表,編輯etc/apt/source.list:

            deb http://ftp.us.debian.org/debian squeeze main
            deb http://packages.dotdeb.org stable all
            deb-src http://packages.dotdeb.org stable all
            deb http://php53.dotdeb.org stable all
            deb-src http://php53.dotdeb.org stable all

            購買VPS最主要的,就是獲取到一個獨立IP,如圖:

            imgs/vps.png

            然后可以去購買域名。同樣,也有很多域名服務(wù)商。這里我選擇的是 godaddy ,我選擇的域名codemacro.com一年11美元。購買了域名后,就需要將域名和VPS IP關(guān)聯(lián)起來。詳細(xì)設(shè)置也可以另行搜索。這里簡要提下:在成功登入godaddy后,選擇My Account,進(jìn)入自己的域名,選擇DNS Manager,然后添加域名映射即可,如圖:

            imgs/domain.png

            通過以上設(shè)置后,你購買的域名就成功指向你購買的VPS地址了。可以通過ping來觀察是否指向成功。

            使用Lisp構(gòu)建博客系統(tǒng)

            要在VPS上安裝軟件,首先需要SSH上你的VPS,例如:ssh -p 1234 root@codemacro.com。

            這里使用的軟件集包括:

            • nginx,Web服務(wù)器
            • SBCL ,Lisp編譯器實現(xiàn)
            • quicklisp ,可以方便自動下載、安裝Lisp庫的工具
            • hunchentoot ,Lisp實現(xiàn)的Web服務(wù)器(不用特意安裝)
            • ext-blog ,Lisp實現(xiàn)的博客系統(tǒng)

            實際上,可以完全使用Lisp作為Web服務(wù)器,但我擔(dān)心效率問題(對個人博客而言完全沒這回事),所以使用了nginx作為Web服務(wù)器前端,將hunchentoot放在后面。

            安裝nginx

            在設(shè)置好debian軟件源后,安裝非常簡單:

            apt-get install nginx

            安裝完后,因為要將HTTP請求轉(zhuǎn)發(fā)給Lisp服務(wù)器,所以需要修改下配置:

            vi /etc/nginx/sites-avaiable/default

            將/請求派發(fā)給Lisp服務(wù)器(假設(shè)監(jiān)聽于8000端口):

            location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            }

            然后可以啟動nginx了:

            nginx

            這個時候通過瀏覽器訪問,會得到503 bad gateway的錯誤提示,因為hunchentoot還沒開啟。

            安裝Lisp相關(guān)軟件

            SBCL 同樣可以通過apt直接安裝:

            apt-get instal sbcl

            裝好SBCL后,就可以進(jìn)一步安裝 quicklisp 。可以完全遵守quicklisp官方給的安裝方法進(jìn)行安裝。大概就是先獲取quicklisp.lisp文件,然后在SBCL中載入,根據(jù)提示即可。這里不再贅述。

            安裝好quicklisp后,就可以使用它安裝很多Lisp軟件/庫了。quicklisp在安裝一個Lisp庫時,會自動下載并安裝依賴庫,就像apt-get一樣。因為ext-blog并未收入到quicklisp的軟件列表里,所以ext-blog需要手動安裝。首先,在本地(非VPS上)獲取ext-blog源碼:

            git clone git://github.com/kevinlynx/klprj.git

            上面的git是我個人存東西用的,暫時沒將ext-blog單獨放置。進(jìn)入到ext-blog目錄。該目錄下有幾個方便的腳本可以用于博客管理。首先將ext-blog打包并上傳到VPS上,例如:

            ./upload-dist.sh root@codemacro.com 1234 /home/test

            該腳本會調(diào)用make-dist.sh將ext-blog全部源碼打包,然后使用scp拷貝該文件及update-blog.sh到VPS指定的目錄里(這里是/home/test),然后ssh上VPS。期間會兩次輸入VPS系統(tǒng)的密碼。然后以下操作將在VPS上完成。

            首先進(jìn)入到剛才拷貝文件的目錄:

            cd /home/test

            解壓ext-blog.tar.gz:

            tar xvf ext-blog.tar.gz

            然后ext-blog被解壓到/home/test/dist目錄。進(jìn)入此目錄運行SBCL:

            cd dist
            sbcl

            ext-blog目錄下dep.lisp會使用quicklisp安裝依賴庫,進(jìn)入SBCL后,載入該文件即可安裝所有依賴庫,這可能需要一點時間:

            (load "dep.lisp")

            在沒有其他問題下,可以暫時退出SBCL完成一些其他準(zhǔn)備工作。

            ext-blog在最近的版本中加入了驗證碼生成功能,這需要一個pcf字體文件。因為字體文件一般較大,所以upload-dist.sh腳本并沒有將該字體文件打包,所以這里需要手動復(fù)制,同樣在本地的ext-blog目錄下:

            scp -P 1234 data/wenquanyi_12ptb.pcf root@codemacro.com:/home/test/dist/data/

            另外,因為需要將Lisp解釋器放置在系統(tǒng)后臺執(zhí)行,避免關(guān)掉SSH會話后終止SBCL進(jìn)程,所以這里需要個工具gnu screen。可以使用apt-get來安裝:

            apt-get install screen

            然后,一切就OK了。在VPS上可以使用ext-blog目錄下的run-blog.sh來運行這個博客(首先確定VPS上的nginx開啟):

            ./run-blog.sh

            該腳本會使用screen在后臺開啟一個SBCL進(jìn)程,并自動載入ext-blog,然后在8000端口上開啟HTTP服務(wù)。這個啟動過程可能會使用幾十秒的時間,直接ctrl+z退出screen,這并不終止SBCL。一段時間后便可在瀏覽器里測試。

            設(shè)置博客

            如果一切正常,此時通過瀏覽器訪問你的站點時,會被重定向到一個博客初始化頁面,如下:

            imgs/initblog.png

            上圖中我是在本機(jī)測試的,所以域名是localhost,希望不至于產(chǎn)生誤解。初始化僅需輸入用戶名和密碼即可,以后可通過該用戶名和密碼進(jìn)入博客后臺管理頁面。完成這一步后,就可以進(jìn)入博客后臺管理頁面做更多的設(shè)置,例如博客標(biāo)題等。

            ext-blog的管理頁面使用了emlog博客系統(tǒng)的CSS及其他資源,因此有同學(xué)覺得管理頁面很面熟就不奇怪了。ext-blog提供在線編輯博客功能,同時也支持簡單的metaweblog API,因此可以使用一些博客客戶端來發(fā)表文章(僅測過我自己寫的博客客戶端cl-writer)。

            最后

            本文描述較為粗略,主要是很多細(xì)節(jié)我自己也記不清。如有問題可以發(fā)郵件給我。

            posted on 2011-09-29 17:19 Kevin Lynx 閱讀(6435) 評論(7)  編輯 收藏 引用 所屬分類: lisp

            評論

            # re: 使用Lisp搭建獨立博客 2011-09-29 20:28 synthetic feather hair extensions

            你的vps我少錢買的啊,現(xiàn)在有個lnmp很方便~  回復(fù)  更多評論   

            # re: 使用Lisp搭建獨立博客 2013-07-02 18:15 bb_cn@163.com

            你好,請問下rapidxen的服務(wù)器,怎么裝系統(tǒng)的?(:-)比較小白的問題)  回復(fù)  更多評論   

            # re: 使用Lisp搭建獨立博客 2013-07-08 11:28 Kevin Lynx

            @bb_cn@163.com
            網(wǎng)頁上進(jìn)管理系統(tǒng),就可以看到裝什么系統(tǒng)  回復(fù)  更多評論   

            # re: 使用Lisp搭建獨立博客 2013-07-08 17:31 bb_cn@163.com

            @Kevin Lynx
            為什么我申請的時候,沒有讓我選os,而且要我填一個 hostname。。。
            到現(xiàn)在還在pending中
            我是7月2日申請的。。。  回復(fù)  更多評論   

            # re: 使用Lisp搭建獨立博客 2013-07-09 13:27 Kevin Lynx

            @bb_cn@163.com
            實在不會提交個ticket給客服。我沒有續(xù)費,現(xiàn)在服務(wù)器停了  回復(fù)  更多評論   

            # re: 使用Lisp搭建獨立博客 2013-07-14 13:22 bb_cn@163.com

            都提交了,還沒有開通,哎。你最新的服務(wù)器買什么地方的?給我推薦一下子@Kevin Lynx
              回復(fù)  更多評論   

            # re: 使用Lisp搭建獨立博客 2013-07-15 10:02 Kevin Lynx

            @bb_cn@163.com
            貌似客服還是很速度的啊。。。窮,沒有服務(wù)器  回復(fù)  更多評論   

            亚洲第一永久AV网站久久精品男人的天堂AV| 伊人久久精品影院| 东京热TOKYO综合久久精品| 欧美精品久久久久久久自慰| 亚洲国产精品无码久久久蜜芽| 久久66热人妻偷产精品9| 久久精品国产福利国产秒| 青草久久久国产线免观| 午夜精品久久久久久中宇| 丁香五月综合久久激情| 亚洲伊人久久大香线蕉综合图片| 国产精品久久久久久影院| 久久天天躁狠狠躁夜夜av浪潮| 一本久久a久久精品亚洲| 精品国产综合区久久久久久| 婷婷五月深深久久精品| 久久久亚洲精品蜜桃臀| 青青青伊人色综合久久| 久久亚洲中文字幕精品有坂深雪 | 久久精品国产亚洲AV嫖农村妇女| 国产亚洲综合久久系列| 精品久久久久久无码不卡| 99热成人精品免费久久| 久久夜色精品国产噜噜噜亚洲AV| 伊人久久大香线蕉成人| 久久国产香蕉视频| A级毛片无码久久精品免费| 99久久99这里只有免费费精品| 99久久综合国产精品免费| 亚洲?V乱码久久精品蜜桃| 四虎国产永久免费久久| 久久不射电影网| 狠狠色丁香婷婷综合久久来 | 91久久国产视频| 青草影院天堂男人久久| 国产精品久久久久久久久鸭| 国产精品禁18久久久夂久| 亚洲va中文字幕无码久久不卡| 欧美亚洲国产精品久久| 亚洲精品无码久久千人斩| 久久精品国产亚洲精品2020|