jekyll是一種能夠將Markdown或Textile格式文本文件轉換成靜態網頁的工具。利用jekyll編寫發佈博客的基本過程爲:css
這種方法的優點在於你再也不須要一個複雜的博客管理系統,也再也不須要安裝數據庫,對於小型博客和低配服務器來說再適合不過了。另外,Github支持你用jekyll編寫的博客,能夠直接發佈到Github我的主頁上。html
你須要在本地計算機上安裝jekyll,安裝過程很是簡單,首先安裝ruby和bundler,而後安裝jekyll便可。nginx
安裝rubygit
不一樣Linux發行版安裝方法不一樣,對於ArchLinux,請使用root用戶運行:github
pacman -S ruby
對於ubuntu和centos用戶,請分別使用apt-get和yum命令。若是感興趣,可使用rvm安裝ruby。web
安裝bundler數據庫
使用普通用戶在命令行中運行如下命令:ubuntu
gem install bundler
安裝jekyllcentos
使用普通用戶在終端中運行:瀏覽器
gem install jekyll
如今,jekyll工具已經安裝到計算機中,接下來將新建一個jekyll工程:
jekyll new blog
上述命令將在當前目錄下新建一個目錄blog,裏面是jekyll幫助您創建的模板文件,能夠先試着運行一下看看:
cd blog
jekyll serve
jekyll將提示您能夠在瀏覽器中輸入localhost:4000來訪問您的博客,默認的界面以下:
如今回頭來看一看blog目錄下究竟生成了什麼文件。下圖是blog目錄下生成的文件:
在_posts目錄下,新建一個以下形式的文件:2008-08-09-my-first-blog.md。文件前半部分就是博客撰寫的時間,這個時間將在博客中顯示;後半部分能夠自行命名。而後使用你最熟悉的文本編輯器打開它,開始編寫內容吧。之後的大部分時間,你都會使用文本編輯器編寫博客。下圖是Emacs編寫博客時的效果。
爲了在本地快速看到目前正在編寫的博客,能夠在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/