服务器 Apollo 配置中心部署教程:从环境准备到验证

先判断你要解决的是哪类问题

本文针对的是最常见的服务器 Apollo 教程需求:在 Linux 服务器上把 Apollo 配置中心跑起来,让业务服务能连上它读取配置。
适合单机测试或小规模内部环境,生产多节点高可用集群不在本次范围内。

Apollo 是携程开源的分布式配置管理中心,核心作用是让配置改动能实时生效,不用重启业务服务。
它分为三个角色:Config Service 提供配置读取接口,Admin Service 负责配置修改和管理,Portal 是网页管理界面。
三者可以部署在同一台机器上,也可以分开。

开始之前,请先确认服务器满足以下条件:

  • 操作系统:CentOS 7+ 或 Ubuntu 20.04+ 等常见 Linux 发行版
  • JDK:8 或 11,用 java -version 查看
  • MySQL:5.7 或 8.0,本地或远程均可
  • 内存:建议 2GB 以上,单机测试 1GB 可能吃紧
  • 端口:8070(Config Service)、8080(Admin Service)、8070 和 8090(Portal)需未被占用

如果 JDK 和 MySQL 还没装,先补齐再继续。
MySQL 建议单独建库,不要和业务库混用,避免后续权限和备份混乱。

部署前的资源与目录准备

Apollo 的官方发布包可以从 GitHub Releases 获取,下载后解压即可。
这里不写死版本号,你按页面当前提供的版本选择即可。

假设放在 /opt/apollo 下,执行:

mkdir -p /opt/apollo
cd /opt/apollo
# 将下载的压缩包解压到当前目录
tar -zxvf apollo-*.tar.gz

解压后你会看到 apollo-configservice、apollo-adminservice、apollo-portal 三个目录,每个里面都有 config 和 scripts 子目录。
启动脚本在 scripts 下,配置文件在 config 下。

数据库方面,Apollo 需要两个库:ApolloConfigDB 和 ApolloPortalDB。
官方 SQL 脚本在源码的 scripts/sql 目录下,通常包含 apolloconfigdb.sql 和 apolloportaldb.sql。
导入方式:

mysql -u root -p -e "CREATE DATABASE ApolloConfigDB DEFAULT CHARACTER SET utf8mb4;"
mysql -u root -p -e "CREATE DATABASE ApolloPortalDB DEFAULT CHARACTER SET utf8mb4;"
mysql -u root -p ApolloConfigDB < apolloconfigdb.sql
mysql -u root -p ApolloPortalDB < apolloportaldb.sql

导入后建议检查一下表是否建全,重点是 ApolloConfigDB 里的 App、Cluster、Namespace 等表。

修改配置并启动三个服务

Apollo 的数据库连接信息写在每个服务的 config/application-gateway.properties 或 config/application.properties 中。
不同版本文件名可能略有差异,以实际解压结果为准。

以 Config Service 为例,编辑 apollo-configservice/config/application-gateway.properties:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username=apollo
spring.datasource.password=你的密码

Admin Service 和 Portal 类似,分别指向 ApolloConfigDB 和 ApolloPortalDB。
注意 Portal 还需要在 apollo-portal/config/apollo-env.properties 里配置各环境 Meta Server 地址,单机测试可以只保留 dev 环境。

启动顺序建议先 Config Service,再 Admin Service,最后 Portal:

cd /opt/apollo/apollo-configservice/scripts
./startup.sh

cd /opt/apollo/apollo-adminservice/scripts
./startup.sh

cd /opt/apollo/apollo-portal/scripts
./startup.sh

启动后可以用 tail -f /opt/apollo/apollo-configservice/logs/apollo-configservice.log 观察日志,
看到 Started ConfigServiceApplication 之类字样说明进程起来了。

验证 Apollo 是否真正可用

服务启动不等于配置能被读到,需要按下面几步核对:

  • 访问 http://服务器IP:8070,Config Service 默认提供健康检查接口,能返回 JSON 即正常
  • 访问 http://服务器IP:8090 打开 Portal 登录页,默认账号密码通常是 apollo/admin,首次登录后应尽快修改
  • 在 Portal 里新建一个项目,添加一条测试配置,例如 test.key=hello
  • 用业务服务或 curl 请求 Config Service 的配置读取接口,确认能拿到刚才写入的值

如果 Portal 能打开但读不到配置,
重点检查 Portal 的 apollo-env.properties 里 Meta Server 地址是否指向了正确的 Config Service 端口。

容易踩坑的几个地方

端口冲突:
Config Service 默认 8080,
Admin Service 默认 8090,
Portal 默认 8070,
如果和已有服务冲突,
需要在启动脚本或配置里改端口,
并同步修改 Meta Server 地址。

数据库时区问题:MySQL 连接串建议加上 serverTimezone=Asia/Shanghai,否则可能出现时间字段写入异常。

防火墙未放行:CentOS 用 firewall-cmd --add-port=8070/tcp --permanent 后记得 firewall-cmd --reload;
云服务器还要在安全组里放行对应端口。

内存不足:Apollo 三个 Java 进程同时跑,内存不够会频繁 OOM。
启动脚本里通常有 JAVA_OPTS 可以调小堆内存,但不要低于 256MB。

用 root 跑服务:建议单独建一个普通用户来运行 Apollo,降低误操作和权限风险。

常见疑问

Apollo 和 Nacos 配置中心有什么区别?
两者都能做配置管理。Apollo 的配置发布、灰度、权限模型相对成熟,界面偏管理后台风格;Nacos 同时提供注册中心和配置中心,集成度更高。选哪个主要看你团队已有的技术栈和运维习惯,没有绝对优劣。

单机部署能直接上生产吗?
不建议。单机没有冗余,任意一个进程挂掉都会影响配置读取。生产环境至少要把 Config Service 和 Admin Service 做多节点,Portal 视管理需求决定是否多节点。

配置改了业务服务没生效怎么办?
先确认业务服务里是否用了 Apollo 客户端并监听了对应 Namespace,再检查发布是否成功、客户端是否连到了正确的环境。可以在客户端日志里搜索 Apollo 相关关键字定位。

数据库密码怎么管理更安全?
不要把明文密码提交到代码仓库。可以用环境变量或配置中心自身的加密能力,至少保证配置文件权限为 600,且只有运行 Apollo 的用户可读。

收尾建议

完成以上步骤后,你手里应该有一个能登录 Portal、能发布配置、能被客户端读取的 Apollo 单机环境。
下一步可以根据团队规模决定是否拆分部署、加监控告警,以及把数据库换成独立实例。
遇到启动失败时,优先看对应服务的日志文件,大部分问题在日志里都有明确提示。

分享到:
上一篇
服务器Eureka教程:从零搭建到可用注册中心
下一篇
服务器SkyWalking教程:从零部署到链路验证
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意