页面加载中
博客快捷键
按住 Shift 键查看可用快捷键
ShiftK
开启/关闭快捷键功能
ShiftA
打开/关闭中控台
ShiftD
深色/浅色显示模式
ShiftS
站内搜索
ShiftR
随机访问
ShiftH
返回首页
ShiftL
友链页面
ShiftP
关于本站
ShiftI
原版/本站右键菜单
松开 Shift 键或点击外部区域关闭
互动
最近评论
暂无评论
标签
寻找感兴趣的领域
暂无标签
    0
    文章
    0
    标签
    8
    分类
    10
    评论
    128
    功能
    深色模式
    标签
    JavaScript12TypeScript8React15Next.js6Vue10Node.js7CSS5前端20
    互动
    最近评论
    暂无评论
    标签
    寻找感兴趣的领域
    暂无标签
      0
      文章
      0
      标签
      8
      分类
      10
      评论
      128
      功能
      深色模式
      标签
      JavaScript12TypeScript8React15Next.js6Vue10Node.js7CSS5前端20
      未知歌曲
      未播放
      ♪ 暂无歌词 ♪
      随便逛逛
      博客分类
      文章标签
      复制地址
      深色模式
      AnHeYuAnHeYu
      Search⌘K
      博客
        暂无其他文档

        阿里云Ubuntu 20.04服务器搭建Hexo博客教程

        本文详细介绍了在阿里云Ubuntu 20.04服务器上搭建Hexo博客的完整过程,包括环境准备、Git环境配置、宝塔面板与网站配置、本地Hexo配置与部署等步骤。首先,介绍了准备工作,包括本地环境、服务器、Hexo博客、连接工具等,并详细说明了环境要求检查清单。接着,分步骤讲解了云服务器Git环境配置,包括安装Git依赖、卸载旧版本Git、下载并编译最新版Git、创建Git用户并配置权限、SSH密钥配置和测试SSH连接。然后,介绍了宝塔面板基础配置、添加网站、SSL证书配置、创建博客目录并设置权限、配置Git钩子自动部署和宝塔面板网站目录设置。接下来,讲解了本地Hexo配置与部署,包括修改Hexo配置文件、安装Hexo部署插件、执行部署命令和验证部署结果。此外,还提供了常见问题与解决方案,包括SSH连接问题、Git命令问题、宝塔面板问题等。最后,介绍了高级配置与优化,如配置Git免密提交、自动化部署脚本、备份与恢复策略等。教程还提供了扩展资源与参考,包括Hexo官方文档、Git官方文档、阿里云文档、宝塔面板文档、Ubuntu官方文档和SSH密钥指南等。

        December 25, 202515 分钟 阅读35 次阅读

        🚀 阿里云 Ubuntu 20.04 服务器搭建 Hexo 博客完整指南

        教程特色

        本教程详细讲解如何在阿里云Ubuntu 20.04服务器上部署Hexo博客,从环境准备到最终上线,每一步都有详细说明和错误解决方案。

        📋 准备工作

        在开始部署之前,请确保您已经准备好以下内容:

        本地环境
        Windows
        服务器
        阿里云
        Hexo博客
        已搭建好的本地Hexo博客
        连接工具
        Xshell

        环境要求检查清单

        • 阿里云服务器已购买并运行
        • 域名已购买并解析到服务器IP
        • Hexo本地博客可正常生成
        • SSH连接工具已安装

        第1部分:云服务器 Git 环境配置

        1.1 安装 Git 依赖

        首先更新系统包并安装必要的依赖:

        bash
        # 更新系统包列表
        sudo apt update
        
        # 安装编译 Git 所需的依赖
        sudo apt install curl libcurl4-openssl-dev expat libexpat1-dev gettext libgettextpo-dev openssl libssl-dev zlib1g zlib1g-dev asciidoc
        
        # 安装 Perl 相关模块
        sudo apt install perl-modules
        sudo apt-get install cpanminus
        sudo cpanm ExtUtils::MakeMaker
        
        # 安装 GCC 编译器
        sudo apt-get install gcc

        1.2 卸载旧版本 Git

        如果系统已安装旧版本 Git,先卸载:

        bash
        sudo apt-get remove git

        1.3 下载并编译最新版 Git

        bash
        # 进入源码目录
        cd /usr/local/src/
        
        # 下载 Git 2.33.0(您可以选择更新版本)
        wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.33.0.tar.gz
        
        # 解压文件
        tar -xzvf git-2.33.0.tar.gz
        
        # 进入解压目录
        cd git-2.33.0
        bash
        # 编译 Git(这需要一些时间)
        make prefix=/usr/local all
        
        # 安装 Git
        sudo make prefix=/usr/local install
        
        # 验证安装
        git --version

        成功后会显示 git version 2.33.0 或类似版本号。

        1.4 创建 Git 用户并配置权限

        创建专用用户

        bash
        # 创建新用户(此处使用 xiaozhi 作为示例)
        adduser xiaozhi
        
        # 设置用户密码(可选但推荐)
        passwd xiaozhi

        配置 sudo 权限

        bash
        # 临时修改 sudoers 文件权限
        chmod 740 /etc/sudoers
        
        # 编辑 sudoers 文件
        vim /etc/sudoers

        在文件中找到 root ALL=(ALL) ALL,在其下方添加:

        xiaozhi ALL=(ALL) ALL

        保存退出后恢复权限:

        bash
        chmod 400 /etc/sudoers

        1.5 SSH 密钥配置

        在本地生成 SSH 密钥

        在 Windows 的 Git Bash 或 PowerShell 中执行:

        bash
        ssh-keygen -t rsa

        运行命令后连续按三次 Enter,使用默认设置。生成的公钥位于 ~/.ssh/id_rsa.pub。

        在服务器配置公钥

        bash
        # 切换到 git 用户
        su xiaozhi
        
        # 创建 .ssh 目录
        mkdir ~/.ssh
        
        # 创建并编辑 authorized_keys 文件
        vim ~/.ssh/authorized_keys

        将本地 id_rsa.pub 文件的内容复制到该文件中,保存退出。

        设置正确的权限

        bash
        chmod 755 ~
        chmod 700 ~/.ssh
        chmod 600 ~/.ssh/authorized_keys

        1.6 测试 SSH 连接

        bash
        ssh -v xiaozhi@你的服务器IP

        如果看到欢迎信息,说明连接成功。


        第2部分:宝塔面板与网站配置

        2.1 宝塔面板基础配置

        如果还没有安装宝塔面板,请先安装:

        bash
        # Ubuntu 20.04 安装命令
        wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

        安装完成后,记下面板地址、用户名和密码。

        2.2 添加网站

        1. 登录宝塔面板
        2. 点击左侧"网站" → "添加站点"
        3. 填写域名信息(如 blog.yourdomain.com)
        4. 选择创建数据库(可选)
        5. 点击"提交"

        宝塔面板官网

        2.3 SSL证书配置

        1. 在网站列表中找到刚添加的站点,点击"设置"
        2. 选择"SSL" → "Let's Encrypt"
        3. 选择要申请证书的域名
        4. 勾选"强制HTTPS"
        5. 点击"申请"

        提示

        SSL证书申请需要域名正确解析到服务器IP,通常需要几分钟到几小时生效。

        2.4 创建博客目录并设置权限

        bash
        # 切换到 root 用户
        su root
        
        # 创建博客存储目录(请将 yourdomain 替换为你的域名)
        mkdir -p /www/wwwroot/blog.yourdomain.com/hexo
        
        # 设置目录权限
        chown xiaozhi:xiaozhi -R /www/wwwroot/blog.yourdomain.com/hexo

        2.5 初始化 Git 仓库

        bash
        # 切换到 git 用户
        su xiaozhi
        
        # 进入用户主目录
        cd /home/xiaozhi
        
        # 初始化裸仓库
        git init --bare blog.git
        
        # 设置仓库权限
        chown xiaozhi:xiaozhi -R blog.git

        2.6 配置 Git 钩子自动部署

        创建自动部署脚本:

        bash
        # 创建 post-receive 钩子文件
        vim /home/xiaozhi/blog.git/hooks/post-receive

        在文件中添加以下内容:

        bash
        #!/bin/bash
        git --work-tree=/www/wwwroot/blog.yourdomain.com/hexo --git-dir=/home/xiaozhi/blog.git checkout -f

        保存后设置执行权限:

        bash
        chmod +x /home/xiaozhi/blog.git/hooks/post-receive

        2.7 宝塔面板网站目录设置

        1. 返回宝塔面板
        2. 进入网站设置 → "网站目录"
        3. 将目录修改为:/www/wwwroot/blog.yourdomain.com/hexo
        4. 点击"保存"

        第3部分:本地 Hexo 配置与部署

        3.1 修改 Hexo 配置文件

        打开本地 Hexo 博客根目录下的 _config.yml 文件,找到 deploy 部分进行修改:

        yaml
        # 部署配置
        deploy:
          type: git
          repository: git@你的服务器IP:/home/xiaozhi/blog.git
          branch: master
          message: "站点更新:{{ now('YYYY-MM-DD HH:mm:ss') }}"

        重要

        请将"你的服务器IP"替换为实际服务器公网IP地址。

        3.2 安装 Hexo 部署插件

        如果尚未安装 git 部署插件,请执行:

        bash
        npm install hexo-deployer-git --save

        3.3 执行部署命令

        在本地 Hexo 博客目录下,执行以下任一命令:

        标准三步命令:

        bash
        hexo clean   # 清理缓存
        hexo generate # 生成静态文件
        hexo deploy   # 部署到服务器

        快捷命令(推荐):

        bash
        # 使用 && 连接多个命令
        hexo clean && hexo g && hexo d

        一键部署脚本:

        bash
        # 创建 deploy.sh 文件
        echo "hexo clean && hexo g && hexo d" > deploy.sh
        # 赋予执行权限
        chmod +x deploy.sh
        # 运行脚本
        ./deploy.sh

        3.4 验证部署结果

        部署完成后,访问你的域名(如 https://blog.yourdomain.com),如果看到 Hexo 默认页面或你的博客内容,说明部署成功!

        1. 浏览器访问你的域名
        2. 看到 Hexo 博客页面
        3. 所有文章、样式加载正常
        4. HTTPS 证书显示安全连接

        🚨 常见问题与解决方案

        问题1:Permission denied (publickey)

        错误信息:

        Permission denied (publickey).

        解决方案:

        1. 检查公钥是否正确复制

          bash
          # 在服务器检查 authorized_keys 内容
          cat ~/.ssh/authorized_keys
        2. 检查文件权限

          bash
          # 确保权限正确
          chmod 700 ~/.ssh
          chmod 600 ~/.ssh/authorized_keys
        3. 重新生成密钥对

          bash
          # 本地重新生成
          ssh-keygen -t rsa -f ~/.ssh/id_rsa_new
          # 复制新公钥到服务器

        问题2:Host key verification failed

        错误信息:

        Host key verification failed.

        解决方案:

        bash
        # 清除已知主机记录
        ssh-keygen -R 你的服务器IP

        问题3:git-upload-pack: command not found

        解决方案:

        bash
        # 创建软链接
        sudo ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack

        问题4:git-receive-pack: command not found

        解决方案:

        bash
        sudo ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack

        问题5:fatal: Could not read from remote repository

        解决方案:

        1. 检查仓库路径是否正确
        2. 确认服务器防火墙是否放行SSH端口(默认22)
        3. 重新配置SSH密钥

        问题6:网站403 Forbidden

        解决方案:

        1. 检查网站目录权限

          bash
          chown www:www -R /www/wwwroot/blog.yourdomain.com
        2. 检查宝塔面板网站目录设置

        3. 检查Nginx/Apache配置文件

        问题7:SSL证书不生效

        解决方案:

        1. 确认域名解析已生效(使用ping命令检查)
        2. 等待证书颁发机构审核(最长24小时)
        3. 在宝塔面板重新申请证书

        🔧 高级配置与优化

        4.1 配置 Git 免密提交

        编辑本地 ~/.ssh/config 文件:

        config
        Host aliyun-hexo
            HostName 你的服务器IP
            User xiaozhi
            IdentityFile ~/.ssh/id_rsa
            Port 22

        然后可以简化部署命令中的地址:

        yaml
        repository: aliyun-hexo:/home/xiaozhi/blog.git

        4.2 自动化部署脚本

        创建自动化部署脚本 auto-deploy.sh:

        bash
        #!/bin/bash
        # Hexo 自动化部署脚本
        
        echo "🚀 开始部署 Hexo 博客..."
        
        # 1. 清理缓存
        echo "🧹 清理缓存..."
        hexo clean
        
        # 2. 生成静态文件
        echo "🔨 生成静态文件..."
        hexo generate
        
        # 3. 部署到服务器
        echo "🚚 部署到服务器..."
        hexo deploy
        
        # 4. 检查部署状态
        if [ $? -eq 0 ]; then
            echo "✅ 部署成功!"
            echo "🌐 博客地址:https://blog.yourdomain.com"
        else
            echo "❌ 部署失败,请检查错误信息。"
        fi

        赋予执行权限:

        bash
        chmod +x auto-deploy.sh

        4.3 备份与恢复策略

        备份 Hexo 源文件

        bash
        #!/bin/bash
        # 备份脚本
        BACKUP_DIR="/path/to/backup"
        DATE=$(date +%Y%m%d_%H%M%S)
        
        # 压缩源文件
        tar -czf "${BACKUP_DIR}/hexo_source_${DATE}.tar.gz" \
            --exclude="node_modules" \
            --exclude=".git" \
            /path/to/your/hexo/blog
        
        echo "备份已保存至:${BACKUP_DIR}/hexo_source_${DATE}.tar.gz"

        恢复 Hexo 博客

        bash
        # 解压备份文件
        tar -xzf hexo_source_backup.tar.gz -C /path/to/restore
        
        # 安装依赖
        cd /path/to/restore
        npm install

        📚 扩展资源与参考

        Hexo官方文档
        Git官方文档
        阿里云文档
        宝塔面板文档
        Ubuntu官方文档
        SSH密钥指南

        🎯 总结与下一步

        部署完成检查清单

        • Git 环境配置完成
        • SSH 密钥对配置成功
        • 宝塔面板网站设置完成
        • SSL证书安装并生效
        • Hexo 本地配置文件更新
        • 博客成功部署并可通过域名访问
        • 备份策略已制定

        后续优化建议

        1. 性能优化

          • 启用 CDN 加速
          • 配置浏览器缓存
          • 压缩静态资源
        2. 安全加固

          • 修改 SSH 默认端口
          • 配置防火墙规则
          • 定期更新系统和软件
        3. 功能扩展

          • 添加评论系统
          • 配置搜索引擎收录
          • 集成统计分析

        Hexo

        教程维护:本教程持续更新,最后更新于 2023年9月。
        问题反馈:如遇到问题,可在评论区留言或查看常见问题部分。
        版本兼容:本教程适用于 Hexo 5.x/6.x,Ubuntu 20.04/22.04。


        🎉 恭喜!你的 Hexo 博客已在阿里云服务器上成功部署!
        最后更新于 December 26, 2025
        On this page
        暂无目录