1 前言
关于个人博客,其实自己很早之前就有了这个打算,然而因为种种的原因(其实就是自己懒),自己一直没有把自己的博客真正的上线。Hexo是一款基于Node.js的快速,简单而强大的博客框架。我们可以使用Markdown(或其他语言)编写文章,可以方便的生成静态网页托管在GitHub上。
下面是我自己搭建博客的基本流程不包含美化主题。
2 前期准备
一台VPS服务器(必须),我选用的是国际知名的vultr,速度不错、稳定且性价比高,按小时计费,能够随时开通和删除服务器,新服务器即是新ip,顺便搭了个酸酸乳效果不错。
一个域名(非必须),可以使用github搭建blog。他们既拥有绝对管理权,又享受github带来的便利—-不管何时何地,只要向主机提交commit,就能发布新文章。更妙的是,这一切还是免费的,github提供无限流量,世界各地都有理想的访问速度。
3 开始搭建
3.1 安装Nodejs
由于CentOS相当的稳定,编译环境都是非常稳定的旧版本,包括CentOS6.x的Python2.6
在内已经满足不了新版本Node安装的需要。在使用源码安装方式之前,要更新老版本的编译环境,如果是像我这样仅仅只是使用Node的话,推荐使用二进制安装方法。
二进制安装比编译安装在安装步骤上简单方便了许多,省去了编译环境的更新。详细介绍可点击这里查看各个版本Node在Linux系统下二进制安装官方文档。
CentOS安装Node11.x版本步骤如下:
1 2
| [root@vultr ~]# curl -sL https://rpm.nodesource.com/setup_11.x | bash - [root@vultr ~]# yum install -y nodejs
|
命令行依次输入 node -v
、npm -v
查看当前安装的版本号,检查是否安装成功。
1 2 3 4
| [root@vultr ~]# node -v v11.15.0 [root@vultr ~]# npm -v 6.13.4
|
3.2 安装Git(已安装可以跳过)
1 2 3
| [root@vultr ~]# yum -y install git [root@vultr ~]# git --version git version 1.7.1
|
进行git全局配置
1 2
| [root@vultr ~]# git config --global user.name "HBLc" [root@vultr ~]# git config --global user.email "xxx@xx.xx"
|
3.3 安装Hexo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [root@vultr ~]# cd /usr/local/ #创建一个博客目录给Hexo使用,Hexo要求一个空的文件夹,所以git init要等Hexo初始化之后 [root@vultr local]# mkdir hexoDir #进入这个博客目录中去 [root@vultr local]# cd hexoDir/ #使用npm安装Hexo,安装的是Hexo的命令行工具,安装成功之后可以使用hexo命令 [root@vultr hexoDir]# npm install -g hexo-cli #进行Hexo初始化 [root@vultr hexoDir]# hexo init #初始化成功查看都有什么文件 [root@vultr hexoDir]# ls _config.yml node_modules package.json package-lock.json scaffolds source themes #安装Hexo依赖 [root@vultr hexoDir]# npm install #安装远程部署插件(此刻博客已经创建成功) [root@vultr hexoDir]# npm install hexo-deployer-git --save #安装本地启动插件,主要用于本地预览 [root@vultr hexoDir]# npm install hexo-server --save
|
3.4 本地测试看看效果
1 2 3 4 5 6 7 8
| #启动本地服务,外部网络无法访问 [root@vultr hexoDir]# hexo server INFO Start processing INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop. #重开一个终端,使用文本浏览器eslinks访问网址 #首先安装eslinks [root@vultr ~]# yum -y install elinks [root@vultr ~]# elinks http://localhost:4000/
|
3.5 部署到GitHub上
1 2 3 4 5 6 7 8 9
| #进入博客目录 [root@vultr ~]# cd /usr/local/hexoDir/ #清除缓存,若是网页正常情况下可以忽略这条命令 [root@vultr hexoDir]# hexo clean #hexo generate 生成静态页面 [root@vultr hexoDir]# hexo g #hexo delopy 部署 [root@vultr hexoDir]# hexo d #部署成功之后将在github仓库中看到部署的文件
|
4 成果
4.1 访问github为我们提供的域名(youusername.github.oi)
以下展示的博客,笔者使用了NexT主题
4.2 用自己的域名访问(前提需要将自己的域名解析到博客所在的服务器)
这里不做演示了,注意如果你的VPS服务器没有用Nginx做反向代理,那么解析成功之后需要用你的域名+端口号4000可访问到,因为Hexo启动的端口是4000
5 使用Nginx反向代理服务器以实现不带端口的域名访问
安装并启动Nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #安装Nginx [root@vultr hexoDir]# yum -y install nginx #查看Nginx状态(Centos6) [root@vultr hexoDir]# service nginx status nginx is stopped #启动Nginx(Centos6) [root@vultr hexoDir]# service nginx start Starting nginx: [ OK ] #设置Nginx开机自启动(Centos6) [root@vultr hexoDir]# chkconfig nginx on #为Hexo创建一个规则 进入Nginx配置目录 [root@vultr hexoDir]# cd /etc/nginx/conf.d/ #创建一个新的配置文件用于Hexo博客 [root@vultr conf.d]# touch hexo.conf #编辑hexo.conf [root@vultr conf.d]# vim hexo.conf #按i进入编辑模式,填入以下ginx配置,填充成功后按Esc,再按:wq保存 #成功添加hexo规则之后重启Nginx [root@vultr conf.d]# service nginx restart Stopping nginx: [ OK ] Starting nginx: [ OK ]
|
Nginx配置
1 2 3 4 5 6 7 8 9 10 11
| server { listen 80; server_name blog.com;
location / { root /usr/local/hexoDir/public; index index.jsp index.html index.htm; } }
|
Centos7安装Nginx
1 2 3 4 5 6 7 8 9 10
| #安装Nginx [root@vultr hexoDir]# yum -y install nginx #查看Nginx状态 [root@vultr hexoDir]# systemctl status nginx #启动Nginx [root@vultr hexoDir]# systemctl start nginx #设置Nginx开机自启动 [root@vultr hexoDir]# systemctl enable nginx #重启Nginx [root@vultr hexoDir]# systemctl restart nginx
|
Nginx启动成功之后可用自己的域名访问到博客
6 发布文章
1 2 3 4 5 6 7
| #进入博客根目录下 [root@vultr hexoDir]# hexo n "VPS服务器搭建Hexo+GitHub+Nginx" #会在博客根目录下的source文件夹中的_post文件夹中多了一个文章名字.md文件 #然后将写好的md文件内容复制到刚生成的md文件中,回到博客目录,部署博客 [root@vultr hexoDir]# hexo clean [root@vultr hexoDir]# hexo g [root@vultr hexoDir]# hexo d
|
现在就可以开始个人博客之旅了
至此博客基本就搭建完毕