Hexo博客:部署与插件
在我两年前写的博客的搭建博客的简单步骤的这篇博文中,我简单的介绍的如何搭建一个基于Github的Hexo博客,现在我来介绍一些其他的用法和部署的方式。
插件
以前使用Hexo而不是Wordpress搭建博客主要原因之一就是可以在Github之类的服务上搭建博客而不需要自己搭建服务器,这样就减少的在金钱方面的投资。如果是现在我还是会在这些方面进行投资的,在以前Hexo的插件不是特别的多,尤其是适合国内的插件和主题都不怎么多,所以我一直都是使用Next作为我的网站的主题的。
其实这个主题有许多的对国内支持的管理,我感觉十分的方便,如果需要其他的插件可以到官网上去看一下插件这个分类,下面有许多的目录值得我们去使用。
部署
在自己的服务器上部署Hexo的方式有许多,可以将服务器的文件打包成Dcoker的镜像进行使用,也可以将使用各种的静态转发的服务器使用,例如:http-server
以及httpd
等。我这介绍的将是使用Nginx
进行部署并且使用cerbot
生成SSL证书。
下面我将以我的博客的部署作为演示,并且服务器用的是Ubuntu 17.10
Nginx
我们先将数据从我们的GitHub或者其他的代码管理服务上面克隆下来,存到服务器的/var/www/mosdev.xyz
的目录下面。然后在/etc/nginx/sites-available
中建立一个新的配置文件,例如blog
,在其中写入如下的配置内容:
1 | server { |
这个配置会默认监听80端口,如果休要监听其他的端口可以在配置文件中加入listen
字段来进行监听。如果你的配置是正确的话,这个时候删除原来在/etc/nginx/sites-enabled
的默认配置,然后重新建立软连接ln -sf ../sites-available/mosdev ./
,如果配置都是正确的话,将在输入nginx -s reload
的信号后访问你的域名将会看到你部署的博客了。
现在https
已经是网站部署的主流了,所以我们也考虑将网站部署上SSL证书,启用https
,最后将不是https
的访问都强制转换成http的访问。
Cerbot
部署https
的一个问题是我们得有SSL证书,以前的SSL证书都比较贵,并且对于个人来说应该不会愿意去购买这么一个证书去部署https
的,但是从16年开始,Let’s Encrypt 提供了免费的SSL证书,这个时候我们就可以使用这么一个免费的服务去部署一个SSL证书了。
安装
首先当然得是先在服务器上安装cerbot,主要的安装方式有使用Docker或者直接从官方源安装两种:
从官方源安装,这个是没有Nginx插件的:
1
2
3
4
5sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbotDocker安装,这个的前提当然是你得在服务器上面安装了个Dockers才行:
1
2
3
4sudo docker run -it --rm -p 443:443 -p 80:80 --name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
certbot/certbot certonly
虽然我比较喜欢使用Docker进行部署,但是在cerbot这个上面我还是使用了官方源进行安装,这样可以在我更新系统的时候自动进行更新,并且这次我们使用了Nginx进行部署,所以我这次需要安装的是带有Nginx插件的cerbot,具体的安装步骤如下:
1 | sudo apt-get update |
使用
因为这次我们使用了带有Nginx插件的cerbot,我们首先得确定我们的配置文件是否是正确的nginx -t
,然后我们执行一下的命令就可以新生成证书和切换 http流量到https了:
1 | # 可以自动的修改原有的配置文件,并且在选项中有自动跳转 |
如果使用的是没有Nginx插件的 cerbot,我们得运行如下代码生成证书:
1 | sudo certbot certonly --webroot -w /var/www/mosdev.xyz -d www.mosdev.xyz |
然后修改配置文件如下,也是最终的配置文件:
1 | server { |
至此,你的网站已经在你的VPS上进行了部署,使用了Nginx作为服务器,并且在服务器上面部署了HTTPS,这样也就达成了我们的目标了。
参考文章
Author: moyu-x
Link: http://moyu-x.com/2018/02/22/201802/HexoDeploy/
License: 知识共享署名-非商业性使用 4.0 国际许可协议