当前位置: 首页 > 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加密
 

http://www.dtcms.com/a/60231.html

相关文章:

  • 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 步骤详解
  • 【免费】2009-2020年上市公司环境投资明细数据
  • Dify平台部署记录
  • 高压为什么cover不住低压的hold问题
  • 从0开始的操作系统手搓教程43——实现一个简单的shell
  • 不同开发语言对字符串的操作
  • 2.1 Vite + Vue 3 + TS 项目脚手架深度配置
  • 夏门大学DeepSeek 手册:从社会大众到高校及企业的全面应用实践研究(附 PDF 下载)
  • 【Linux网络】I/O 世界的技术之旅:探索五种模型与 fcntl 函数的魅力
  • 信奥赛CSP-J复赛集训(模拟算法专题)(5):P1047 [NOIP 2005 普及组] 校门外的树
  • 网关相关配置