VPS搭建个人Hexo博客
Hexo是一个快速、简洁且高效的博客框架,具备速度快、支持Markdown、可扩展等特性,深受广大网友喜爱。网上有很多借助 GitHub搭建Hexo博客的教程,但利用VPS的缺比较少。为了特殊需求,本人一直使用VPS,但功能比较单一,感觉比较浪费,随产生搭建个人博客的想法。今天分享一下,如何使用VPS搭建个人Hexo博客。
准备工作
服务器环境搭建
通过SSH工具连接VPS,进行下属操作:
安装配置Nginx
安装Nginx
虽然大多数VPS系统都是linux系统,但不同的版本的linux下安装Nginx的方法也有所不同。我的是CentOS 7,以root帐号登录vpx服务器,运行以下命令:
1 | $ yum install – y epel-release |
默认Centos源中没有nginx,所以首先运行一句话添加源,然后运行第二句命令安装nginx,第三句命启动nginx服务。启动后可以通过命令systemctl status nginx
查看状态,确认是否正常启动。此外,为了保证每次VPS重启后,能够自动运行nginx服务,运行
1 | $ systemctl enable nginx |
Nginx启动后,在浏览器中访问你VPS的IP地址进行确认,如无意外,可以看到Welcome to nginx页面。
配置Nginx
找到Nginx配置目录,备份conf配置文件并进行修改。
1 | $ cd /etc/nginx/conf.d |
修改配置文件中的server_name部分,其它内容保持不变。网站内容默认存储目录为/usr/share/nginx/html
,
1 | server { |
Git发布功能配置
本博客在客户端撰写,发生后通过git发布到服务器段,并自动更新。
创建git用户
创建一个用户git,并根据提示设置密码,用来专门运行git服务,并赋予git用户sudo权限。
1 | $ adduser git |
找到以下内容:
1
2 ## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在下面添加一行:git ALL=(ALL) ALL
,保存。检查git用户权限确保git用户能够读写/usr/share/nginx/html
目录。
1 | $ ls -l /usr/share/nginx/ |
如果不是,需要修改权限。
1 | $ sudo chown git:git -R /usr/share/nginx/html |
建立git裸库
使用su git
切换到用户git
,再执行下列操作:
1 | $ cd /home/git |
git裸库建立好了,我们还需需要使用git-hooks同步网站目录。简单来说,我们使用一个钩子文件:post-receive,每当git仓库接收到内容时,就会自动调用这个钩子,把内容同步到网站根目录。
在git用户执行:
vim ~/blog.git/hooks/post-receive
即新建post-receive文件,并编辑:
1 |
|
保存退出,并赋予其执行权限:chmod +x ~/blog.git/hooks/post-receive
。
配置SSH(可选)
客户端发布博客时通过SSH登录,避免每次输入密码。具体ssh配置,请参考相关文档。
本地搭建Hexo博客
本地搭建Hexo博客,具体可参考Hexo官网文档。安装Hexo很简单,但前提是需要先安装以下应用程序:
安装Hexo
安装Node.js
Node.js 为大多数平台提供了官方的 安装程序。对于中国大陆地区用户,可以前往
淘宝 Node.js 镜像
下载。我本地操作系统是Manjaro
Linux系统,很容易采用sudo pacman -Sy nodejs
进行安装,其他的操作系统可以参考Node.js官网,下载相应软件进行安装。
Windows 用户 使用 Node.js 官方安装程序时,请确保勾选 Add to PATH 选项(默认已勾选)>
安装Git
Manjaro Linux系统安装后默认已经安装了Git。其他操作系统可以
- Windows: 下载并安装git
- Mac:使用Homebrew等方式进行安装
- Linux(Ubuntu,
Debian):
sudo apt-get install git-core
- Linux(Fedora, ReaHat,
CentOS):
sudo yum install git-core
安装Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。
1 | $ npm install -g hexo-cli |
建站
安装 Hexo 完成后,请执行init
命令,Hexo
将会在指定文件夹中新建所需要的文件。因为我要建双语博客,所以我首先在自己的根目录下新建了一个名为Blog的文件夹,并在Blog文件下再新建一个名为Blog_cn的文件夹,用于存储中文博客。因此可以采用hexo init Bolg_cn
命令进行初始化博客。
1 | $ cd Blog |
hexo g
用于生成静态网页,hexo s
打开本地服务器,然后浏览器打开localhost:4000
就可以看到默认博客效果了。
安装相关插件
安装Hexo的categories生成插件,并生成categories页面:
1 | $ npm install hexo-generator-category --save |
安装Hexo的Tags生成插件
1 | $ npm install hexo-generator-tag --save |
安装Hexo的about生成插件
1 | $ npm install hexo-generator-about --save |
配置本地Hexo
进入Blog_cn目录,修改站点配置文件config.yml,在文件最后添加:
1 | deploy: |
保存后,剩下的就是Hexo的日常操作了。
日常操作
发布新帖
1 | $ hexo new "My New Post" |
更多信息: 写作
运行服务
1 | $ hexo server |
运行服务后可以现在本地端查看效果,查看方法为浏览器打开localhost:4000
就可以查看。更多信息:
服务器
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment