如何将hexo部署到服务器上面
如何将hexo部署到云服务器上面
服务器环境基础环境搭建
因为 Docker 容器能够提供一个相对独立、隔离的运行环境,本文选择在服务器上面拉取一个 Ubuntu的 Docker 容器内配置 Hexo 的部署环境。当然,如果你不想使用 Docker,直接在本地操作也是完全可以的。
本教程同样适用于不使用 Docker 的情况,你可以根据个人习惯灵活选择。
1、准备工作:创建一个 Ubuntu Docker 容器
我们将在一个独立的 Docker 容器中搭建环境。请执行以下命令:
1 | docker run -p 4000:4000 -p20000:22 --name hexo_server -itd django_lesson:1.1 |
⚠️ 重要提示:
如果本地没有现成的 Ubuntu 镜像,Docker 会自动从远程仓库拉取。上述命令会创建一个名为 hexo_server的容器,并将宿主的 4000 端口(用于 Hexo 预览)和 20000 端口(用于 SSH 访问)分别映射到容器内部。
2、检查并安装 Git 环境
进入容器后,首先确认是否已安装 Git:
1 | git -v |
如果显示“command not found”或未安装,请使用以下命令安装:
1 | apt-get update |
安装完成后,可以再次运行 git —version来验证安装是否成功。
3、配置 Git 仓库与部署钩子(Hook)
我们将在容器中创建一个裸仓库,并设置一个 post-update钩子,以实现自动部署。
执行以下命令
1 | mkdir /var/repo |
post-update 的内容如下:
1 | !/bin/bash |
给post-update进行授权
1 | chmod +x post-update |
4、设置容器 root 用户密码
由于这是一个全新的 Ubuntu 容器,默认的 root用户没有密码,建议你设置一个密码以便后续通过 SSH 管理。
1 | passwd |
本地环境搭建
1、进入博客的根目录下打开_config.yml 将deploy改成以下信息 hexoserver。对应的是服务器的ip地址
1 | deploy: |
2、执行以下命令进行将本地推送到服务器上
1 | npx hexo cl |
配置 Nginx 服务器
在容器内安装 Nginx 后,需要将其配置为 Hexo 静态网站的服务端。
1、安装 Nginx(如果尚未安装)
1 | apt-get update && apt-get install -y nginx |
2、编辑 Nginx 主配置文件
我们将修改 Nginx 配置文件,使其监听 4000 端口并将根目录指向 Hexo 生成的静态文件。
1 | vim /etc/nginx/nginx.conf |
3、在 http块内添加 server 配置
找到配置文件的 http { … }部分,在结尾的 include指令之前,添加以下 server 块:
1 | Hexo 博客站点配置 - 监听 4000 端口 |
4、完整配置文件示例(供参考)
以下是一个简洁的、包含 Hexo 站点配置的 nginx.conf示例:
1 | user www-data; |
5、测试配置并重启 Nginx
1 | 检查配置文件语法是否正确 |
6、验证部署
打开浏览器,访问IP:4000,应该能看到 Hexo 博客的首页。



.png)
.png)