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

使用服务器搭建开源建站工具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加密
 

相关文章:

  • C++学习——哈希表(一)
  • ASP.NET CORE MVC EF框架
  • JVM常用概念之本地内存跟踪
  • ⭐LeetCode周赛 3468. 可行数组的数目——暴力与数学⭐
  • 深度学习训练Camp:第R5周:天气预测
  • transformer模型介绍——大语言模型 LLMBook 学习(二)
  • 如何利用 Excel 表格实现精准文件批量重命名教程
  • ngx_openssl_conf_t
  • R 基础运算
  • Python+requests+unittest+excel实现接口自动化测试框架
  • 构建服务器--在线单词查询
  • 大白话请详细分析JavaScrip中的map、filter、reduce方法的功能、返回值和应用场景,并结合代码示例讲解
  • Windows软件插件-视频渲染器
  • 编译skia
  • 服务器磁盘占用率过高解决方案
  • DataWhale-三月学习任务-大语言模型初探(一、二、五章学习)
  • 从头开始开发基于虹软SDK的人脸识别考勤系统(python+RTSP开源)(三)
  • 香港服务器深度测评:AWS vs 阿里云 vs GCP 技术选型指南
  • Spring boot启动原理及相关组件
  • Spring Boot 整合 Redis 步骤详解
  • 中俄就应对美加征所谓“对等关税”等问题进行深入交流
  • 一周文化讲座|城市移民与数字时代的新工作
  • 首届上海老年学习课程展将在今年10月举办
  • 国家发改委副主任谈民营经济促进法:以法治的稳定性增强发展的确定性
  • AI智能体,是不是可以慢一点? | ToB产业观察
  • 外交部发言人就当前印巴局势答记者问