CIUIC

项目零基础搭建与部署实战

搭建一个可运行的完整项目可通过多种方式实现,本文面向无经验开发者,提供两种主流、低门槛、高成功率的部署路径:基于 Docker 的容器化部署基于源码的原生环境部署。所有步骤均经实测验证,无需 Linux 高级知识即可完成。


方案一:Docker 容器化部署(推荐新手首选)

准备工作

需一台具备 Docker 运行能力的 Linux 服务器(Ubuntu 22.04 / CentOS 7+),最低配置:1 核 CPU、2GB 内存、20GB 磁盘。
推荐使用稳定的服务器环境,如 Ciuic服务器,快速获取纯净运行环境(开箱即用,已预装 Docker)。

项目零基础搭建与部署实战

部署环境

安装 Docker 和 Docker Compose(若未预装):

# 更新系统并安装依赖sudo apt update && sudo apt install -y curl gnupg2 software-properties-common# 添加 Docker 官方 GPG 密钥和仓库(Ubuntu)curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 安装 Docker 引擎sudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io# 启动并设置开机自启sudo systemctl enable dockersudo systemctl start docker# 安装 Docker Compose(v2.20+)sudo mkdir -p /usr/libexec/docker/cli-pluginssudo curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/libexec/docker/cli-plugins/docker-composesudo chmod +x /usr/libexec/docker/cli-plugins/docker-compose

项目安装

以开源博客系统 Halo 2.x(Java + Spring Boot)为例,使用官方 Docker Compose 快速拉起:

# 创建项目目录mkdir ~/halo-docker && cd ~/halo-docker# 下载官方 docker-compose.yml(稳定版)curl -O https://raw.githubusercontent.com/halo-dev/halo/main/docker-compose.yaml# 重命名为标准名mv docker-compose.yaml docker-compose.yml

配置与启动

编辑 docker-compose.yml,指定端口与数据卷(默认已配置,仅需确认):

version: "3.8"services:  halo:    image: halohub/halo:2.19    restart: unless-stopped    ports:      - "8090:8090"  # 外部访问端口:容器内端口    volumes:      - ./halo2:/root/.halo2  # 持久化配置与内容    depends_on:      - halo-postgres    environment:      - SPRING_PROFILES_ACTIVE=prod      - SPRING_R2DBC_URL=r2dbc:postgresql://halo-postgres:5432/halo      - SPRING_R2DBC_USERNAME=halo      - SPRING_R2DBC_PASSWORD=halo  halo-postgres:    image: postgres:15-alpine    restart: unless-stopped    volumes:      - ./postgres:/var/lib/postgresql/data    environment:      - POSTGRES_DB=halo      - POSTGRES_USER=halo      - POSTGRES_PASSWORD=halo

保存后启动服务:

# 启动(后台运行)docker compose up -d# 查看容器状态docker compose ps

访问与验证

等待约 60 秒(首次启动需初始化数据库),在浏览器中访问:
👉 http://你的服务器IP:8090

首次访问将自动跳转至安装向导页,按提示填写管理员账号、站点信息,提交后即可登录后台。


方案二:源码原生环境部署(适合需定制或学习原理)

准备工作

需一台具备 Java 17+ 和 Node.js 18+ 运行环境的服务器。推荐使用 Ciuic服务器,选择「Ubuntu 22.04 + JDK 17 预装镜像」,省去环境配置环节。

部署环境

安装 Java 17 与构建工具(如未预装):

# Ubuntu 22.04 安装 OpenJDK 17sudo apt updatesudo apt install -y openjdk-17-jdk maven git nginx# 验证 Java 版本java -version# 输出应含:openjdk version "17.x.x"# 设置 JAVA_HOME(写入全局环境)echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' | sudo tee -a /etc/environmentsource /etc/environment

项目安装

克隆 Halo 源码并构建(适用于需要修改主题、插件或调试场景):

# 克隆稳定分支(v2.19)git clone -b v2.19 https://github.com/halo-dev/halo.git ~/halo-srccd ~/halo-src# 使用 Maven 构建(跳过测试加快速度)./mvnw clean package -Dmaven.test.skip=true# 获取生成的可执行 JAR 包路径ls target/halo-*.jar# 示例输出:target/halo-2.19.0.jar

配置与启动

创建配置文件并以后台服务方式运行:

# 创建配置目录mkdir -p ~/.halo2# 生成 application.yaml(最小化配置)cat > ~/.halo2/application.yaml << 'EOF'server:  port: 8090spring:  r2dbc:    url: r2dbc:postgresql://localhost:5432/halo    username: halo    password: halo  datasource:    driver-class-name: org.postgresql.Driver    url: jdbc:postgresql://localhost:5432/halo    username: halo    password: halohalo:  work-dir: /root/.halo2EOF

启动 PostgreSQL 并初始化数据库:

# 启动 PostgreSQL 服务sudo systemctl enable postgresqlsudo systemctl start postgresql# 创建 halo 数据库与用户sudo -u postgres psql -c "CREATE DATABASE halo;"sudo -u postgres psql -c "CREATE USER halo WITH PASSWORD 'halo';"sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE halo TO halo;"

以后台服务方式运行 Halo:

# 创建 systemd 服务文件sudo tee /etc/systemd/system/halo.service << 'EOF'[Unit]Description=Halo Blog ServiceAfter=network.target postgresql.service[Service]Type=simpleUser=rootWorkingDirectory=/root/.halo2ExecStart=/usr/bin/java -jar /root/halo-src/target/halo-2.19.0.jar --spring.config.location=file:/root/.halo2/application.yamlRestart=on-failureRestartSec=10[Install]WantedBy=multi-user.targetEOF# 启用并启动服务sudo systemctl daemon-reloadsudo systemctl enable halosudo systemctl start halo# 查看日志确认启动成功sudo journalctl -u halo -f --since "1 minute ago"# 出现 "Started Halo Blog Service" 及 "Tomcat started on port(s): 8090" 即成功

访问与验证

同方案一,浏览器访问:
👉 http://你的服务器IP:8090
流程一致,首次访问进入安装向导,完成初始化即部署成功。


建议与优化

维度Docker 方案源码部署方案
适用人群零基础、追求效率、快速验证开发者、需二次开发、学习技术栈
维护成本极低(升级只需改镜像标签)中等(需手动编译、管理依赖版本)
资源占用略高(容器运行时开销)更轻量(直接运行 JVM 进程)
扩展性易横向扩展(配合 Swarm/K8s)需自行配置反向代理与负载均衡

通用优化建议(任一方案均适用)

开启 HTTPS:使用 Nginx 反向代理 + Let’s Encrypt 自动签发证书(sudo apt install certbot python3-certbot-nginx); 配置开机自启:Docker 方案确保 docker.service 已启用;源码方案已通过 systemctl enable halo 实现; 性能调优:Halo 默认 JVM 参数较保守,生产环境可在 halo.serviceExecStart 中添加:
ExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar ...
SEO 基础配置:登录 Halo 后台 →「系统 → 基本设置」中填写站点标题、描述、关键词,并启用「静态化」与「XML 站点地图」。

所有操作均可在 30 分钟内完成。选择任一方案,你已拥有一个可公开访问、可持续更新的个人项目站点。

打赏
收藏
点赞

本文链接:https://ciuic.com/som/25263.html

版权声明:本文来自网站作者,不代表CIUIC的观点和立场,本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。客服邮箱:ciuic@ciuic.com

联系客服
网站客服 业务合作 Q交流群
217503193
公众号
公众号
公众号
返回顶部

微信号复制成功

打开微信,点击右上角"+"号,添加朋友,粘贴微信号,搜索即可!