当前位置:首页 > 行业动态 > 正文

hexo绑定域名

购买域名后,在DNS服务商设置A记录指向服务器IP,修改Hexo根目录_config.yml中的URL字段,主题CNAME配置(如有),执行hexo clean后重启本地服务器,浏览器访问新

Hexo绑定域名全流程详解(含DNS配置与HTTPS部署)

域名绑定前的准备

  1. 拥有可用域名

    • 通过域名注册商(如阿里云、Namecheap、Google Domains)购买域名
    • 确保域名已实名认证并完成所有权验证
  2. Hexo项目初始化

    hexo init blog
    cd blog
    npm install
  3. 准备服务器环境

    • 可选方案:GitHub Pages、VPS(如阿里云ECS)、Vercel等
    • 推荐组合:GitHub Pages + 自定义域名 + Let’s Encrypt SSL

DNS配置核心步骤

操作类型 主机记录 记录值 TTL 作用
A记录 服务器IP地址(如123.45.67.89) 300s 将域名指向服务器IP
CNAME记录 www 用户名.github.io 自动 支持www前缀访问
TXT记录 用于验证域名所有权(如DNS验证) 300s 部分服务需此记录
ALIAS记录(高级) 目标域名/IP 自动 部分DNS支持的别名解析方式

注意事项

  • 使用GitHub Pages需添加CNAME记录指向用户名.github.io
  • 开启CDN服务需根据服务商要求配置(如Cloudflare)
  • 修改DNS后需等待全球生效(约1-72小时)

Hexo配置文件修改

编辑_config.yml文件:

# 基础URL配置
url: https://yourdomain.com    # 带https协议
root: /                        # 多语言子目录需调整
# 强制重定向HTTP到HTTPS
plugins:
  hexo-redirect-from-http[^1]

[^1]: 需安装插件npm i hexo-redirect-from-http


部署到GitHub Pages

  1. 创建仓库

    • 仓库名格式:用户名.github.io
    • 初始化README文件触发GitHub Pages服务
  2. 配置SSH密钥

    ssh-keygen -t rsa -b 4096
    # 将公钥添加到GitHub Deploy keys
  3. 部署脚本

    # 本地生成public目录
    hexo clean && hexo generate
    # 推送到master分支
    git add . && git commit -m "update" && git push origin master

HTTPS证书部署(Let’s Encrypt)

  1. 安装Certbot

    sudo apt install certbot # Debian/Ubuntu系统
  2. 获取证书

    sudo certbot certonly --standalone -d yourdomain.com -d www.yourdomain.com
  3. 配置Nginx

    server {
        listen 80;
        server_name yourdomain.com;
        return 301 https://$host$request_uri; # 强制HTTP转HTTPS
    }
    server {
        listen 443 ssl;
        server_name yourdomain.com;
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
        # 代理到Hexo静态文件目录
        location / {
            root /path/to/hexo/public;
            try_files $uri $uri/ =404;
        }
    }

常见问题解决方案

现象 原因分析 解决方案
域名无法访问 DNS未生效/服务器防火墙阻挡 检查DNS记录/开放80/443端口
HTTPS显示不安全 证书未配置/过期 重新申请证书/设置自动续期
访问出现404错误 文档根目录配置错误 检查Nginx root路径指向public目录

FAQs

Q1:为什么绑定域名后访问出现”FORBIDDEN”错误?
A:通常是因为Nginx配置权限问题,需检查root路径是否指向正确的Hexo生成目录,并确保文件权限设置为755,执行以下命令修复:

sudo chown -R $USER:$USER /path/to/hexo/public
sudo chmod -R 755 /path/to/hexo/public

Q2:如何实现www和不带www域名同时访问?
A:需在Nginx配置中添加重定向规则:

server {
    listen 80;
    server_name yourdomain.com;
    return 301 $scheme://www.$host$request_uri; # 强制跳转到www子域
}

或在Hexo配置中启用url统一为https://www.yourdomain.com

0