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/