本文介绍了如何将Hexo博客通过Git部署到阿里云服务器上,并使用宝塔面板进行环境配置和网站管理。
前言
此教程已不更新,建议配合最新更新的教程将Hexo部署到腾讯云轻量应用服务器使用
前提文章:hexo的搭建
开放端口并登录服务器
- 在云服务器管理控制台找到自己购买的实例(图1),点击进入实例详情,点击本实例安全组,点击自己的实例,分别开放22,80和8888端口(图2)。
- 回到实例列表,界面下拉,在配置信息里找到服务器的公网ip,记下此ip,之后会用到。
- 返回顶部,点击更多→重置实例密码(用户名一般设为root)(图3),然后点击远程连接,在服务器界面输入刚才设置的用户名和密码,确定登录。
部署宝塔面板
安装宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
安装过程出现选择,一律选择y(yes),即输入y(yes)回车
安装完成后根据给出的地址和账号密码,登录宝塔
进入宝塔面板后,按照提示先安装LNMP(nginx)。
ps:如果忘记宝塔账号密码可以输入以下指令查看账号密码(需要在root用户下)
cd /www/server/panel && python tools.py panel testnamewd
cd /www/server/panel && python tools.py panel testpasswd
或者直接进入宝塔目录,选择操作指令
cd /www/server/panel
bt
安装Git
- 安装Git
yum install git
安装期间出现提示一律输入yes
查看版本,检查是否安装完成
git --version
- 创建Git账户,并修改权限
adduser git
chmod 740 /etc/sudoers
- 修改配置
此步骤可直接在宝塔面板或者服务器文件管理内手动找到文件位置
/etc/sudoers
进行修改
打开文件
vim /etc/sudoers
点击“i”建进入编辑模式,通过方向键编辑
找到 root ALL=(ALL) ALL
在其下方以相同格式添加 git ALL=(ALL) ALL
root ALL=(ALL) ALL
git ALL=(ALL) ALL
点击 Esc
后输入 :wq
。
保存退出后改回权限
chmod 400 /etc/sudoers
- 设置git账户的密码(linux密码不会显示,按照提示直接输即可)
sudo passwd git
配置ssh公钥
此步骤非必要步骤,后续可通过Root用户上传
- 创建ssh
su git
mkdir .ssh
vim ~/.ssh/authorized_keys
PS:如果mkdir命令创建失败,可以直接在文件管理中手动创建 /home/git/.ssh/authorized_keys
,然后输入
ls -l /home/git/.ssh
检查用户组是否为git,如果不是的话输入以下代码:
chown -R git:git /home/git/.ssh/
- 将本地生成的id_rsa.pub文件中的公钥复制到authorized_keys,保存退出。
分别给予权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
- 使用Git Bush Here输入
ssh -v git@服务器ip
过程中如有提示一律输入yes(y)
如果不需要密码且不报错说明配置成功
最后会提示
Welcome to Alibaba Cloud Elastic Compute Service !
Git配置
- 进入宝塔面板
在www路径下新建Git文件夹(图4),将权限设为755,所有者为root。
在宝塔SSH终端(图5)中输入代码创建Git仓库
cd /www/GitConfig
git init --bare hexo.git
- 创建Git钩子
在/www/GitConfig/hexo.git/hooks/路径下新建文件post-receive
复制以下代码并保存,将权限设为755,所有者为root。
#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/www/GitConfig/hexo.git checkout -f
本地配置
修改博客根目录配置
repo: git@域名或IP:/www/GitConfig/hexo.git
如果未配置SSH或者SSH配置失败则无法使用Git用户免密上传,需要使用Root用户上传,代码如下:
repo: root@域名或IP:/www/GitConfig/hexo.git
将服务器解析到域名
添加站点
回到宝塔面板点击网站,选择添加站点,输入域名,根目录设为/www/wwwroot/hexo,php版本选择纯静态,点击确定(图6)。
然后三连(hexo clean && hexo g && hexo d)上传,输入域名访问即可
附加步骤
完成以上步骤后就可以通过域名访问网站了,接下来的步骤都是附加步骤
添加SSl证书
为网站设置SSL证书并强制HTTPS,开启HTTPS时需要放行443端口(宝塔默认已开启,在宝塔面板中选择安全,然后放行443端口即可,也可在服务器中放行端口)。
宝塔面板点击网站,找到刚才添加的站点,点击设置,选择SSL,可以在这里免费申请宝塔SSL证书,如果你已有证书的话,点击其它证书,将你的证书复制进去,点击保存,将右上角的强制HTTPS开启,至此完成所有步骤。
添加404界面
修改nginx.conf的server项(或者直接在宝塔面板的目标站点操作)
添加如下代码:
#开启error_page
error_page 500 502 503 504 404 /404.html;
# 承接上面的location
location = /404.html {
# 放错误页面的目录路径。
root /www/wwwroot/hexo;
}
1
路过踩踩友链····
1
hexo放在阿里云有点大材小用了。哈哈
不过文章写得很详细,点个赞!