一、服务器环境准备
bashCopy Code
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker && sudo systemctl start docker
验证安装:docker --version 和 docker-compose --version23。
二、Halo 2.0容器化部署
bashCopy Code
mkdir -p /opt/halo && cd /opt/halo
cat > docker-compose.yml <
version: '3'
services:
halo:
image: halohub/halo:2.10 # 官方最新稳定版镜像
container_name: halo
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- ./data:/root/.halo2 # 持久化存储配置与数据:ml-citation{ref="3,4" data="citationList"}
environment:
- SPRING_R2DBC_URL=r2dbc:h2:file:///root/.halo2/db # 使用H2数据库(默认):ml-citation{ref="5" data="citationList"}
EOF
bashCopy Code
docker-compose up -d
docker logs -f halo # 查看实时日志确认启动状态:ml-citation{ref="3,4" data="citationList"}
访问 http://<服务器IP>:8090/console 完成管理员账户初始化(邮箱、密码等)34。
三、域名绑定与HTTPS加密
nginxCopy Code
server {
listen 80;
server_name blog.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name blog.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/blog.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $host;
}
}
操作步骤:
bashCopy Code
sudo certbot certonly --nginx -d blog.yourdomain.com
四、功能扩展与安全加固
五、数据备份与维护
bashCopy Code
crontab -e
0 3 * * * tar -czvf /opt/halo-backup.tar.gz /opt/halo/data # 每日凌晨3点备份:ml-citation{ref="1,3" data="citationList"}
备份文件可上传至莱卡云对象存储或本地NAS13。
bashCopy Code
docker-compose pull && docker-compose up -d # 更新至最新镜像:ml-citation{ref="5,6" data="citationList"}
六、常见问题处理
通过以上步骤,可在莱卡云服务器快速部署私有化Halo 2.0建站服务,支持多用户管理、插件扩展及HTTPS加密