博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用jekyll架设个人博客
阅读量:6853 次
发布时间:2019-06-26

本文共 2943 字,大约阅读时间需要 9 分钟。

jekyll简介

jekyll是一种可以将或Textile格式文本文件转换成静态网页的工具。利用jekyll编写发布博客的基本过程为:

  • 使用任何一款编辑器编写符合Markdown或Textile格式的文本文件;
  • 使用jekyll文本文件编译为静态网页文件,包括html、css文件等;
  • 将静态网页发布到你的服务器。

这种方法的优势在于你不再需要一个复杂的博客管理系统,也不再需要安装数据库,对于小型博客和低配服务器来讲再适合不过了。另外,支持你用jekyll编写的博客,可以直接发布到Github个人主页上。

安装软件

你需要在本地计算机上安装jekyll,安装过程非常简单,首先安装ruby和bundler,然后安装jekyll即可。

  1. 安装ruby

    不同Linux发行版安装方法不同,对于ArchLinux,请使用root用户运行:

    pacman -S ruby

    对于ubuntu和centos用户,请分别使用apt-get和yum命令。如果感兴趣,可以使用安装ruby。

  2. 安装bundler

    使用普通用户在命令行中运行以下命令:

    gem install bundler
  3. 安装jekyll

    使用普通用户在终端中运行:

    gem install jekyll

新建jekyll工程

现在,jekyll工具已经安装到计算机中,接下来将新建一个jekyll工程:

jekyll new blog

上述命令将在当前目录下新建一个目录blog,里面是jekyll帮助您建立的模板文件,可以先试着运行一下看看:

cd blogjekyll 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文件使用格式,这种格式在开源软件中已经非常流行,例如你会经常在开源代码的根目录下看到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/

转载于:https://www.cnblogs.com/sanduo1314/p/6658081.html

你可能感兴趣的文章
Intellij Idea 2017创建非Maven web项目使用tomcat部署实战
查看>>
工程DHCP配置
查看>>
GIL(全局解释器锁)与互斥锁
查看>>
我的友情链接
查看>>
Git常用操作及分支
查看>>
关于一种求最大公约数的算法的分析与证明
查看>>
微信授权莫名创建用户数据失败的原因
查看>>
网络高手修身
查看>>
JavaWeb综合案例-键盘模拟
查看>>
Android Day03-SQLite数据库操作及ListView详解
查看>>
Looking for APAC Operations IT XML Database Developer in Shenzhen and Hongkong
查看>>
Myeclipse常用快捷键
查看>>
我的友情链接
查看>>
Unity3d多线程
查看>>
炉石传说 C# 开发笔记 (源代码整理公开)
查看>>
前端文摘:Web 开发模式演变历史和趋势
查看>>
最大子数组和问题的解
查看>>
cout设置输出数据不显示科学计数法
查看>>
zoj 1659 Mobile Phone Coverage(矩形面积并)
查看>>
python学习 day3
查看>>