当前位置: 首页 > article >正文

使用服务器搭建开源建站工具Halo 2.0


一、服务器环境准备

  1. ‌实例与系统选择
    • ‌推荐配置‌:莱卡云 ‌L1型实例(1核2GB内存)‌,操作系统选择 ‌Ubuntu 22.04 LTS‌,满足Halo 2.0的Java运行需求‌13。
    • ‌端口开放‌:在莱卡云控制台开放 ‌8090(Halo默认端口)‌、‌80(HTTP)‌及 ‌443(HTTPS)‌‌13。

  1. ‌安装Docker与依赖

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 --version‌23。


二、Halo 2.0容器化部署

  1. ‌创建部署目录与配置文件

bashCopy Code

mkdir -p /opt/halo && cd /opt/halo 

cat > docker-compose.yml <<EOF 

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 

  1. ‌启动服务与初始化

bashCopy Code

docker-compose up -d 

docker logs -f halo  # 查看实时日志确认启动状态‌:ml-citation{ref="3,4" data="citationList"} 

访问 http://<服务器IP>:8090/console 完成管理员账户初始化(邮箱、密码等)‌34。


三、域名绑定与HTTPS加密

  1. ‌Nginx反向代理配置

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; 

    } 

‌操作步骤‌:

    • 使用Certbot申请SSL证书:

bashCopy Code

sudo certbot certonly --nginx -d blog.yourdomain.com 

    • 重启Nginx生效:sudo systemctl restart nginx‌34。

四、功能扩展与安全加固

  1. ‌核心功能配置
    • ‌主题安装‌:通过后台“外观-主题”上传或从Halo官方市场下载‌17。
    • ‌插件管理‌:支持评论系统、搜索优化等插件(如 CommentWidget)‌17。
  2. ‌安全优化
    • ‌限制后台访问IP‌:通过Nginx配置仅允许特定IP访问 /console 路径‌34。
    • ‌数据库迁移‌:若需高性能,可替换默认H2数据库为MySQL(修改 SPRING_R2DBC_URL 参数)‌45。

五、数据备份与维护

  1. ‌定时备份策略

bashCopy Code

crontab -e 

0 3 * * * tar -czvf /opt/halo-backup.tar.gz /opt/halo/data  # 每日凌晨3点备份‌:ml-citation{ref="1,3" data="citationList"} 

备份文件可上传至莱卡云对象存储或本地NAS‌13。

  1. ‌版本升级

bashCopy Code

docker-compose pull && docker-compose up -d  # 更新至最新镜像‌:ml-citation{ref="5,6" data="citationList"} 


六、常见问题处理

  • ‌初始化页面无法访问‌:
    • 检查防火墙是否开放8090端口:ufw status‌13。
  • ‌HTTPS证书失效‌:
    • 执行 sudo certbot renew --quiet 自动续期‌34。
  • ‌主题/插件冲突‌:
    • 进入安全模式:docker exec -it halo halo --safe-mode‌67。

通过以上步骤,可在莱卡云服务器快速部署私有化Halo 2.0建站服务,支持多用户管理、插件扩展及HTTPS加密
 


http://www.kler.cn/a/584765.html

相关文章:

  • 版本控制案例 | 硬盘巨头希捷(Seagate)的版本管理升级之路:从SVN到Perforce Helix Core
  • Word 小黑第19套
  • 基于Java + Redis + RocketMQ的库存秒杀系统设计与实现
  • Linux网络套接字编程——UDP服务器
  • 江科大51单片机笔记【17】红外遥控(外部中断)
  • 第八节:红黑树(初阶)
  • T2.小牛架炮 - 美团机试真题题解
  • 【vscode-01】vscode不同项目不同语言扩展插件隔离方案
  • Mermaid 子图 + 拖拽缩放:让流程图支持无限细节展示
  • 边缘计算(Edge Computing)
  • 伽马函数相关知识点及其与概率论知识的结合
  • WPF 制作机械手动画
  • 个性化音乐推荐系统
  • 面向联邦学习隐私保护的同态加密库优化算法研究
  • tcpdump 基础参数解析与简单示例
  • 【每日学点HarmonyOS Next知识】页面引用问题、Json三方库、路由表使用、下拉刷新问题、视频播放错误
  • 【QT】-解析打包json
  • 并行计算编程模型的发展方向与RISC-V的机遇
  • BUG修复 | 一次钉钉工作台应用远程调试实战(开发者工具)
  • laravel项目中使用FFMPeg 剪裁视频