复习的时间太无聊,就把博客迁移到腾讯云上面了。
腾讯云的宣传力度实在太大了,到处都是学生优惠10元一个月的广告。于是我就买了一年的期限外加一个域名。准备把博客从github pages上迁移到云上。我选的server是ubuntu 16.04,网上部署hexo的教程大部分是centos,配置还是有些细微的不同。写这篇文章主要为了记录
本文主要参考了云社区的一篇部署教程 here
前期准备
- hexo 本地仓库
- 腾讯云服务器
服务器端配置
ssh到远程服务器
安装依赖库和编译工具
1
2sudo apt-get install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
sudo apt-get install gcc perl-ExtUtils-MakeMaker package安装git
1
sudo apt-get install git
此时执行
git -version,如果能看到git的version,说明安装成功创建git仓库,用于存放网站资源
1
2
3
4
5mkdir /home/username/git/
chown -R $USER:$USER /home/username/git/
chmod -R 755 /home/username/git/
cd /home/username/git/
git init --bare hexoBlog.git创建一个新的 git 钩子,用于自动部署。钩子概念
新建一个新的钩子文件
post-receive1
vim /home/username/git/hexoBlog.git/hooks/post-receive
输入以下内容
1
!/bin/bash git --work-tree=/home/username/hexoBlog --git-dir=/home/username/git/hexoBlog.git checkout -f
修改文件权限,使其可以执行
1
chmod +x /home/git/hexoBlog.git/hooks/post-receive
服务器nginx配置
安装nginx
1
sudo apt-get install nginx
启动nginx
1
service nginx start
测试nginx
打开浏览器,输入服务器公网ip。若看到nginx欢迎页面,说明安装成功
创建nginx托管目录
1
2
3mkdir /home/username/hexoBlog/
chown -R $USER:$USER /home/username/hexoBlog/
chmod -R 755 /home/username/hexoBlog/下面最重要的环节来了!我们需要去修改nginx默认配置
默认server配置的路径在
/etc/nginx/sites-enabled/default需要把
root改为/home/username/hexoBlog,也就是我们刚刚创建的托管文件夹如果有域名的话也可以把
server_name改成自己的域名最后重启nginx就可以啦!
1
service nginx restart
本地hexo站点git配置
打开根目录下
_config.yml修改以下内容
1
2
3
4deploy:
type: git
repo: root@云服务器的IP地址:/home/username/git/hexoBlog
branch: master最后一步!
1
2
3hexo clean
hexo generate
hexo deploy