本人为大家讲解一下怎么在VPS搭建hexo博客,之前都是github搭建教程,很少有VPS这方面的,这方法是我折腾出来的hexo博客具有全静态化,响应速度快,轻量级等优点,是wp没法比的。
如下介绍:
什么是hexo
hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github和Heroku上。作者是来自台湾的@
tommy351。引用@
tommy351的话,hexo:
快速、简单且功能强大的 Node.js 博客框架。
A fast, simple & powerful blog framework, powered by Node.js.
类似于jekyll、Octopress、Wordpress,我们可以用hexo创建自己的博客,托管到github或Heroku上,绑定自己的域名,用markdown写文章。本博客即使用hexo创建并托管在github上。
1. 搭建hexo博客:
首先你得安装nodejs环境,以Ubuntu和CentOS为例,其他系统可以在https://
github.com/joyent/node/wiki/Installing-Node.js-via-package-manager参考,如下:Ubuntu安装方法:
curl -sL
https://deb.nodesource.com/setup | sudo bash - 开始下载
sudo apt-get install -y nodejs 开始安装
CentOS安装方法:
curl -sL
https://rpm.nodesource.com/setup | bash - 开始下载
yum install -y nodejs 开始安装
yum install gcc-c++ make # or: yum groupinstall 'Development Tools' 安装工具包,也可以不装
Git安装方法:
Ubuntu sudo apt-get install git-core ; Cent OS yum install git-core
2.安装hexo:
用npm命令安装hexo, 任意位置都可以
npm install -g hexo
安装完成后,再输入 hexo init <你的网站所在的目录>
cd <你的网站所在的目录>
安装依赖包 npm install
这样就安装完成了,不过没法在网站查看,先配置nginx的conf文件,我的是lnmpa环境,以我的环境为例,conf文件就是/usr/local/nginx/conf/vhost的虚拟机conf文件。文件配置如下:
server {
listen 80;
root /home/wwwroot/
example.com/;server_name
hexo.freedom.moe;
access_log /home/wwwlogs/example.com.log;
error_log /home/wwwlogs/example.com.log;
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
root /home/wwwroot/
example.com/public/;access_log off;
expires 1d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
root /home/wwwroot/
example.com/;access_log off;
expires 10m;
}
location / {
root /home/wwwroot/
example.com/;if (-f $request_filename) {
rewrite ^/(.*)$ /$1 break;
}
}
按照上面去做。
接着在网站目录下修改文件_config.yml,注意在 :后面空一个格,不然出错,如下:
# Hexo Configuration
## Docs:
http://hexo.io/docs/configuration.html## Source:
https://github.com/hexojs/hexo/# Site
title: Hexo
subtitle:
description:
author:
email:
language: zh-CN
# URL
## If your site is put in a subdirectory, set url as '
http://example.com/child' and root as '/child/'
url:
http://example.com/ 修改为你的网站
root: / 不用修改
permalink: :year/:month/:day/:title/
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
permalink_defaults:
# Directory
source_dir: source
public_dir: public
# Writing
new_post_name: :
title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
highlight:
enable: true
line_number: true
tab_replace:
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Archives
## 2: Enable pagination
## 1: Disable pagination
## 0: Fully Disable
archive: 2
category: 2
tag: 2
# Server
## Hexo uses Connect as a server
## You can customize the logger format as defined in
##
http://www.senchalabs.org/connect/logger.htmlport: 80 换成80端口
server_ip: 去掉
logger: false
logger_format: dev
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
##
http://momentjs.com/docs/#/displaying/format/date_format: MMM D YYYY
time_format: H:mm:ss
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Disqus
disqus_shortname:
# Extensions
## Plugins:
https://github.com/hexojs/hexo/wiki/Plugins## Themes:
https://github.com/hexojs/hexo/wiki/Themestheme: landscape
exclude_generator:
# Deployment
## Docs:
http://hexo.io/docs/deployment.htmldeploy:
type:
修改完了之后保存,接着cd你网站所在的目录,重启nginx,接着输入 hexo g ,如有缓存文件的话先hexo clean再hexo g。
大功告成了。网站演示例子:
http://hexo.freedom.moe/ 本人博客:
http://blog.freedom.moe/
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/154707
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.