在自己的服务器上搭起Hexo博客
介绍
这里整理下在服务器搭建Hexo博客的一些流程,记录下来备忘。
服务器使用的是阿里云ECS云服务器,CentOS 7.4 64位。代码使用git管理,web服务器使用nginx代理服务器。
Hexo博客框架
hexo是一个基于node.js的博客开发工具,支持使用Markdown文档直接生成博客文章,可以在Hexo官网阅读详细介绍及文档。
Hexo博客相关环境安装
1.在云服务器上安装node环境(及Node内置的npm);
2.使用npm安装hexo全局环境;
3.安装其他相关环境(Git,Nginx等);
具体安装流程及环境变量配置,网上很多攻略文档,这里就不详细介绍了。
Hexo博客项目的目录结构
├── .deploy #需要部署的文件
├── node_modules #Hexo插件
├── public #生成的静态网页文件(nginx代理这个目录)
├── scaffolds #模板
├── source #博客正文和其他源文件, 404 favicon CNAME 等都应该放在这里
| ├── _drafts #草稿
| └── _posts #文章
├── themes #主题
├── _config.yml #全局配置文件(博客名称简介、语言、主题等配置)
└── package.json
Hexo常用命令
hexo init “blogname” //创建一个blog
hexo n “文章” //创建一个新的文章,md文件[n 表示 new]
hexo g //将所有文章生成静态web文件[g 表示 generate]
hexo s (-p 4001) //在指定端口(-p命令指定端口号,默认4000端口)开启服务[s 表示 server]
hexo p == hexo publish #发布
hexo d == hexo deploy #部署
hexo clean #清除缓存 网页异常情况下,使用此条命令清空后重新generate
备注:
1.”hexo n”命令是使用模板(/scaffolds/post.md)新建的md文件,在/source/_posts/目录下。(手动在此目录中创建md文件也是可行的,只是new命令创建的文件中会默认带有模板中定义的配置)
2.”hexo s”命令是用NodeJs服务器开启服务,后面我们会配置nginx代理hexo博客服务,因此这条命令实际是没用上的。
3.配置nginx代理博客的静态目录(/public/)后,更新完博客内容只需”hexo g”命令即可完成热更新。
4.博客分类/标签:在文章题注中增加categories和tags配置即可,分类最好只配置1个,标签可以配置多个
Hexo主题
可以到官网搜索喜欢的博客主题,比如BlueLake、diaspora主题,配置成自己的博客主题。
主题库一般都是放在GitHub上,cd到博客的”themes”目录,新建一个要clone主题的目录,然后从GitHub上将主题代码clone到这个目录。
在博客的全局_config.yml配置文件中将主题配置成刚下载的主题[theme: 样式名],并根据主题对应的文档介绍配置主题目录的_config.yml文件及图标等。
使用”hexo clean”和”hexo g”命令,重新生成博客静态web文件。
Nginx配置代理服务到Hexo博客
在nginx配置文件中配置如下的server即可:1
2
3
4
5
6
7server {
listen 80; //分配服务器端口号
location / {
root /root/workspace/blog/public; //博客静态目录路径
index index.html index.htm;
}
}