利用jekyll架設個人博客


jekyll簡介

jekyll是一種可以將Markdown或Textile格式文本文件轉換成靜態網頁的工具。利用jekyll編寫發布博客的基本過程為:

  • 使用任何一款編輯器編寫符合Markdown或Textile格式的文本文件;
  • 使用jekyll文本文件編譯為靜態網頁文件,包括html、css文件等;
  • 將靜態網頁發布到你的服務器。

這種方法的優勢在於你不再需要一個復雜的博客管理系統,也不再需要安裝數據庫,對於小型博客和低配服務器來講再適合不過了。另外,Github支持你用jekyll編寫的博客,可以直接發布到Github個人主頁上。

安裝軟件

你需要在本地計算機上安裝jekyll,安裝過程非常簡單,首先安裝ruby和bundler,然后安裝jekyll即可。

  1. 安裝ruby

    不同Linux發行版安裝方法不同,對於ArchLinux,請使用root用戶運行:

    pacman -S ruby
    

    對於ubuntu和centos用戶,請分別使用apt-get和yum命令。如果感興趣,可以使用rvm安裝ruby。

  2. 安裝bundler

    使用普通用戶在命令行中運行以下命令:

    gem install bundler
    
  3. 安裝jekyll

    使用普通用戶在終端中運行:

    gem install jekyll
    

新建jekyll工程

現在,jekyll工具已經安裝到計算機中,接下來將新建一個jekyll工程:

jekyll new blog

上述命令將在當前目錄下新建一個目錄blog,里面是jekyll幫助您建立的模板文件,可以先試着運行一下看看:

cd blog
jekyll serve

jekyll將提示您可以在瀏覽器中輸入localhost:4000來訪問您的博客,默認的界面如下:

jekyll-demo

現在回頭來看一看blog目錄下究竟生成了什么文件。下圖是blog目錄下生成的文件:

jekyll-dir

  • about.md就是你的關於頁面。
  • _config.yml用來配置博客的名稱,email等信息。
  • feed.xml是RSS訂閱相關的文件。
  • _includes里面有一些可利用的html頁面元素,如footer和header。
  • _layouts定義博客頁面要使用的模板,你可以在這里修改博客的布局和風格。
  • _posts里面就是你撰寫的博客文件,文件名以日期開頭,例如2014-08-08-using-jekyll.md。
  • _site目錄下是你運行jekyll build命令后自動編譯成的靜態網頁文件,把這個目錄上傳到你的服務器就可以提供網頁服務了。

開始寫博客

在_posts目錄下,新建一個如下形式的文件:2008-08-09-my-first-blog.md。文件前半部分就是博客撰寫的時間,這個時間將在博客中顯示;后半部分可以自行命名。然后使用你最熟悉的文本編輯器打開它,開始編寫內容吧。以后的大部分時間,你都會使用文本編輯器編寫博客。下圖是Emacs編寫博客時的效果。

emacs-md

為了在本地快速看到目前正在編寫的博客,可以在jekyll serve命令后面加上watch選項:

jekyll serve --watch

這樣每次你保存文件后,jekyll都后重新編譯文件,更新_site目錄。

md文件使用Markdown格式,這種格式在開源軟件中已經非常流行,例如你會經常在開源代碼的根目錄下看到README.md。md格式既便於閱讀,又可以方便地轉換為html格式用於顯示。例如在git或bitbucket上,md格式的文件將直接被渲染為html格式。

發布!

假設你已經編寫好_posts目錄下的博客,接下來就可以試着發布博客了。首先,在服務器上新建一個www用戶:

useradd www

然后,使用scp命令將_site目錄拷貝到服務中:

# 將下面的IP地址替換為你的服務器IP地址
scp -r _site root@xxx.xxx.xxx.xxx:/home/www/

接着來安裝配置nginx服務。阿里雲服務器采用centos操作系統,所以使用yum來安裝一下nginx服務:

#需要sudo或使用root用戶
yum install nginx

打開/etc/nginx/nginx.conf文件,添加以下內容:

user www;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    #                '$status $body_bytes_sent "$http_referer" '
    #                '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /home/www/_site;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
}

保存后退出。啟動服務:

service nginx start

好了,博客成功上線!

結束

如果要長期使用博客,最好申請一個域名,可以使用從萬網申請然后讓阿里雲幫忙備案,這個過程要相對復雜。沒有備案的域名很快會被屏蔽掉的~

 

文章部分參考:http://tech.flower-on.com/web/2014/08/08/using-jekyll/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM