HEXO部署到国内服务器教程
1.序言
我的HEXO博客从一开始的Github部署,到后来的腾讯云->阿里云部署,每一次服务器到期后高昂的续费费用都迫使我不得不重新寻找新的云服务器厂商去重新部署,时间成本不低,且迁移时间的差距往往都在1年以上, 以往的部署方式都忘的差不多了,所以此次迁移做一个记录,如果以后还有迁移需要亦或其他人想借此参考,都可回头来看看。
2.资源准备
- 一台云服务器
- 一个域名
- 国内服务器需要备案(我这边已经备案过了,后续如果有需要可单独再出一篇备案教程)
- 本地windows需要准备好GIT环境、NodeJs环境、Hexo博客环境,此次默认本地都已配置完成
3.本地计算机操作
默认本地的GIT以及Hexo都配置好了,只是做个迁移。需要做的就是进入_config.yml文件中,修改deploy的repository地址,非常简单。
修改好后,即是部署三件套
1 | hexo clean # 清理历史静态生成文件 |
4.云服务器侧配置
4.1基础配置
首先,选择进入云服务器控制台,选择相应的连接方式,连接到云服务器
接着,给这台服务器安装宝塔面板
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh |
选择命令14后,复制面板对公网放开的地址,直接在浏览器中访问。访问有可能失败,这是因为阿里云侧有端口访问限制,手动将宝塔面板需要的端口对外开放即可。
进入宝塔面板后,无脑极速安装LNMP,跳过99%部署问题
4.2Git环境安装
新的机器建议,输入如下命令安装一下依赖
安装依赖库
1 | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel |
安装编译工具
1 | yum install gcc perl-ExtUtils-MakeMaker package |
如果你服务器有了编译工具和依赖库就可以不用输入上面的命令
查看Git版本
1 | git version |
删除旧Git
1 | yum remove git -y |
下载并且解压最新版本git
1 | cd /usr/local/src #进入下载的目录 |
编译并安装
1 | cd git-2.28.0 #进入文件夹 |
配置git环境变量
1 | echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc |
刷新环境变量
1 | source /etc/bashrc |
查看版本号
1 | git --version |
创建git账户并且添加账户的权限
1 | adduser git #创建git账户 |
修改内容
1 | vim /etc/sudoers #打开需要修改的文件 |
在上面打开的文件里面找到如下内容
1 | #Allow root to run any commands anywhere |
添加如下内容
1 | git ALL=(ALL) ALL |
按下键盘上的Esc按键,然后进入进入编辑模式(i),输入:wq即可保存退出,然后修改权限。
1 | chmod 400 /etc/sudoers |
切换到git用户,并且创建/.ssh文件和/.ssh/authorized_keys文件
1 | su git #切换到git账户 |
然后把本地Windows10的Git生成的id_rsa.pub文件中的公钥内容复制到authorized_keys里面去
给文件赋予权限
1 | chmod 600 /home/git/.ssh/authorized_keys |
测试是否能免密登录git
1 | ssh -v git@你的服务器IP地址 |
创建仓库目录
1 | mkdir /var/repo #repo作为git仓库目录 |
创建网站目录
1 | mkdir /www/hexo |
创建一个裸的git仓库
1 | su root #切换到root用户 |
同步网站根目录
1 | vim /var/repo/hexoBlog.git/hooks/post-receive |
然后按i进入编辑模式,在这个文件里面添加两行代码,作用是指定git工作树源代码和git目录。
1 | # !/bin/bash |
然后Esc,进入编辑模式:wq保存退出即可
修改文件权限使得可以运行
1 | chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive |
至此Git仓库搭建完毕。
重启宝塔面板
1 | service bt restart |
然后回到本地Windows10系统
清理缓存并且推送到服务器
1 | hexo clean #清理缓存 |
至此,本地Windows10的Hexo静态博客文件便部署到云服务器上了
5站点配置与域名解析
5.1站点配置
进入宝塔面板,进行站点配置
站点添加完毕后,进入站点设置界面,申请SSL证书,这样可以才用HTTPS协议。可以申请Let’s Encrypt免费证书,他的有效期是3个月,默认的宝塔面板会自动帮你续签,申请的时候选择文件验证或者DNS验证都可以。
5.2域名解析
找到自己的域名控制台,添加解析记录。
主机记录 | 记录类型 | 解析请求来源 | 记录值 | TTL |
---|---|---|---|---|
@ | A | 默认 | 服务器公网IP | 按需设置 |
www | 服务器公网IP | 默认 | 服务器公网IP | 按需设置 |
6.大功告成
在浏览器地址栏输入域名,即可访问博客。