Z次元

本文介绍了如何将Hexo博客通过Git部署到阿里云服务器上,并使用宝塔面板进行环境配置和网站管理。

前言

此教程已不更新,建议配合最新更新的教程将Hexo部署到腾讯云轻量应用服务器使用

前提文章:hexo的搭建

开放端口并登录服务器

  • 在云服务器管理控制台找到自己购买的实例(图1),点击进入实例详情,点击本实例安全组,点击自己的实例,分别开放22,80和8888端口(图2)。
  • 回到实例列表,界面下拉,在配置信息里找到服务器的公网ip,记下此ip,之后会用到。
  • 返回顶部,点击更多→重置实例密码(用户名一般设为root)(图3),然后点击远程连接,在服务器界面输入刚才设置的用户名和密码,确定登录。

图1

图2
图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)。

图1

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

图1

图1

  • 创建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)。

图6

然后三连(hexo clean && hexo g && hexo d)上传,输入域名访问即可

附加步骤

完成以上步骤后就可以通过域名访问网站了,接下来的步骤都是附加步骤

添加SSl证书

为网站设置SSL证书并强制HTTPS,开启HTTPS时需要放行443端口(宝塔默认已开启,在宝塔面板中选择安全,然后放行443端口即可,也可在服务器中放行端口)。
宝塔面板点击网站,找到刚才添加的站点,点击设置,选择SSL,可以在这里免费申请宝塔SSL证书,如果你已有证书的话,点击其它证书,将你的证书复制进去,点击保存,将右上角的强制HTTPS开启,至此完成所有步骤。

图1

添加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

heson2020年8月31日

tv_馋 路过踩踩友链····

回复

1

heson2020年7月19日

hexo放在阿里云有点大材小用了。哈哈
不过文章写得很详细,点个赞! tv_doge

目录