Hexo 建站记录(git)

本文最后更新于 2025年8月14日 星期四 10:51

〇、前言

这篇文章记录了我如何开辟这个营地。

本文参考 Hexo 官方文档腾讯云官方文档

我使用的是 CentOS 实例,用 Windows 11 连接。

一、如何连接 Linux 实例

  1. 先在服务器提供商为用户名 root 重置强密码。根据说明,执行以下命令,以连接 Linux 实例。
1
ssh <username>@<IP address or domain name>
  • username 即为用户名,如 rootubuntu 等。
  • IP address or domain name 为 Linux 实例公网 IP 地址或自定义域名。

注意

  • 第一次 ssh 链接的时候会生成一个认证凭据,存储在客户端中的 C:\Users\Admin\.ssh\known_hosts 中,如果服务器地址重置或重新安装了,就会 ssh 链接远程服务器出现错误
  • 解决方式如下:
1
ssh-keygen -R <IP address or domain name>
  1. 输入已获取的密码,按回车,即可完成登录。(输入密码时不会显示密码内容)

二、服务器端操作

1. git 环境准备

安装 git:

1
yum -y install git

创建用户组和用户,并授予权限,设置密码。 Linux 下系统没有消息反馈就代表成功。

1
2
3
groupadd git
useradd git -g git
passwd git

然后根据提示设置密码。

2. 公钥配置

  • 在你的设备上使用如下命令,连按多次回车,生成公钥。
1
ssh-keygen
  • 为了防止每次部署都需要输入 git 密码,我们需要 将公钥传给服务器 。前往 C:\Users\Admin\.ssh 文件夹下,右键文件夹空白处,单击 Git Bash Here 以打开 Bash,输入如下命令,并连按多次回车,即可将共钥传给服务器(同理,git 可以改成 root):
1
ssh-copy-id -i id_rsa.pub git@<IP address or domain name>

之后就能免密登录了。

3. 站点开设

安装依赖。

1
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel make libtool

安装 Nginx 作为 web 服务器。

注意: Nginx 版本可使用当前较新的稳定版本,此处使用 1.22.1 版本,亦可访问 https://nginx.org/ 查看最新版本。

1
wget http://nginx.org/download/nginx-1.22.1.tar.gz

解压,并配置。

1
2
3
4
tar zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install

运行 Nginx。

1
/usr/local/nginx/sbin/nginx

创建一个软链接(符号链接)​​,将 Nginx 的可执行文件路径映射到系统的全局命令目录。

1
2
3
ln -s /usr/local/nginx/sbin/nginx /usr/bin
nginx -t # 检查配置文件是否正确
nginx -s reload # 重新加载配置文件

4. 创建仓库

首先新建仓库,用来存放 blog 内容。

1
2
cd /home/git/
git init --bare blog.git

接下来修改钩子函数,同步到 Nginx 的 html 文件。

1
2
3
4
5
cat << 'EOF' > /home/git/blog.git/hooks/post-receive
DIR=/usr/local/nginx/html/blog
git --work-tree=${DIR} clean -fd
git --work-tree=${DIR} checkout --force
EOF

然后,按 ESC 退出编辑,输入 :wq 保存文件。

然后给予权限:

1
2
3
4
5
6
chmod a+x /home/git/blog.git/hooks/post-receive
chown git:git /home/git/blog.git/hooks/post-receive
chown -R git:git /home/git/blog.git
chmod -R 775 /home/git/blog.git
chown -R git:git /usr/local/nginx/html/blog
chmod -R 775 /usr/local/nginx/html/blog

5. 最终配置

修改 Hexo 配置(根目录下 _config.yml ):

1
2
3
4
deploy:
- type: git
repo: git@<IP address or domain name>:/home/git/blog.git
branch: master

Hexo 建站记录(git)
https://blog.gtbcamp.cn/article/building-website-with-hexo/
作者
Great Thunder Brother
发布于
2022年8月11日
更新于
2025年8月14日
许可协议