Administrator
发布于 2025-12-11 / 6 阅读
0
0

Ubuntu服务器搭建Halo博客完整教程

Ubuntu服务器搭建Halo博客完整教程

本文将详细介绍如何在Ubuntu服务器上使用Docker部署Halo博客系统,并配置Nginx反向代理和HTTPS证书。

环境要求

  • Ubuntu 22.04 LTS 服务器
  • 已备案的域名(国内服务器)
  • 服务器开放80和443端口

一、安装Docker

1.1 更新系统并安装依赖

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

1.2 添加Docker官方GPG密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

1.3 安装Docker

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

1.4 配置Docker镜像加速

sudo mkdir -p /etc/docker
cat > /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": ["https://docker.1ms.run"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、部署Halo博客

2.1 创建目录

sudo mkdir -p /opt/halo
cd /opt/halo

2.2 创建docker-compose.yml

services:
  halo:
    image: halohub/halo:2.20
    container_name: halo
    restart: always
    volumes:
      - ./data:/root/.halo2
    ports:
      - "8090:8090"

2.3 启动Halo

sudo docker compose up -d

三、配置Nginx反向代理

3.1 安装Nginx

sudo apt-get install -y nginx certbot python3-certbot-nginx

3.2 配置反向代理

创建 /etc/nginx/sites-available/your-domain.com

server {
    listen 80;
    server_name your-domain.com;
    location / {
        proxy_pass http://127.0.0.1:8090;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

3.3 启用配置

sudo ln -sf /etc/nginx/sites-available/your-domain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

四、配置HTTPS

sudo certbot --nginx -d your-domain.com --non-interactive --agree-tos --email your@email.com

五、常用命令

# 查看状态
docker compose ps

# 查看日志
docker compose logs -f halo

# 重启
docker compose restart

# 更新
docker compose pull && docker compose up -d

总结

通过以上步骤,成功在Ubuntu上部署了Halo博客系统。


评论