安装apollo前必须确认java 8+(推荐openjdk 11)、mysql 5.6.5+(需改认证插件为mysql_native_password)、unzip或tar工具;初始化mysql并导入apolloportaldb.sql和apolloconfigdb.sql;修改各服务application-github.properties中数据库连接与服务地址配置;按configservice→adminservice→portal顺序启动,注意端口放行与日志监控。

安装前必须确认的三个依赖条件
Apollo 服务端基于 Java 构建,不能直接跑在裸 Linux 上。你得先确保这三项已就位,缺一不可:Java 8+(推荐 OpenJDK 11)、MySQL 5.6.5+(不支持 MySQL 8 的默认认证插件,需手动改 caching_sha2_password 为 mysql_native_password)、以及 unzip 或 tar 工具(用于解压官方 release 包)。常见错误是装了 java -version 显示正常,但 $JAVA_HOME 没配,导致 Apollo 启动脚本找不到 JDK——务必运行 echo $JAVA_HOME 验证,且该路径下要有 /bin/java。
初始化 MySQL 并导入 Apollo 官方 SQL 脚本
Apollo 启动前必须完成数据库初始化,否则服务会卡在“等待元数据连接”状态。下载官方 release 包后,进入 scripts/sql 目录,你会看到三个 SQL 文件:apolloportaldb.sql、apolloconfigdb.sql、apolloconfigdb_mariadb.sql(仅限 MariaDB)。用 MySQL root 用户依次执行前两个:
mysql -uroot -p <p>注意:不要跳过 <code>apolloportaldb.sql</code>,Portal 服务启动失败十有八九是因为它没导入;另外,如果 MySQL 是 8.0+ 且报错 <code>Client does not support authentication protocol</code>,执行这条语句修复用户认证方式:<code>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';</code></p><h3>修改 application-github.properties 配置对应环境</h3><p>Apollo 默认使用 GitHub 风格配置文件名,核心配置在 <code>apollo-configservice</code> 和 <code>apollo-adminservice</code> 的 <code>conf/application-github.properties</code> 中。最关键的三处必须改:</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/ai/3477" title="包图AI文生图"><img src="https://img.php.cn/upload/ai_manual/001/246/273/178599423314124.png" alt="包图AI文生图" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/ai/3477" title="包图AI文生图" class="overflowclass">包图AI文生图</a> <p class="overflowclass">包图AI文生图是一款AI图像与设计工具,一站式图像与插画生成工具。</p> </div> <a rel="nofollow" href="/ai/3477" title="包图AI文生图" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>
-
spring.datasource.url:填你的 MySQL 地址,例如jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8 -
spring.datasource.username和spring.datasource.password:填实际数据库账号密码(不要用 root 做生产部署) -
apollo.configService.url和apollo.adminService.url:这两个在apollo-portal的同名文件里也要同步改成你将要部署的内网 IP + 端口,比如@#@#@#@#@#@#@#@#@#@0,否则 Portal 页面加载配置时会跨域或连不上
别漏掉 apollo-portal 目录下的 conf/apollo-env.properties,它控制不同环境(dev/fat/uat/pro)对接哪套 Config/Admin 服务,本地单机部署可只保留 dev 行并指向本机地址。
启动顺序和后台常驻的关键命令
Apollo 三个模块有强依赖关系:必须先起 configservice,再起 adminservice,最后起 portal。每个服务都带 startup.sh,但直接运行会前台阻塞。生产建议用 nohup + & 后台启动,并重定向日志:
cd apollo-configservice ./startup.sh nohup ./startup.sh > /opt/logs/configservice.log 2>&1 &
等 30 秒左右,检查 tail -f /opt/logs/configservice.log 是否出现 Started ConfigServiceApplication;确认后再启动 adminservice;最后启动 portal。Portal 默认监听 8070 端口,启动后访问 @#@#@#@#@#@#@#@#@#@1 即可登录,默认账号密码是 apollo/admin。
防火墙容易被忽略:CentOS 7+ 默认开 firewalld,记得放行 8070、8080、8090 这三个端口,或者临时关掉测试:systemctl stop firewalld。真正在意安全的话,后续应加 Nginx 反向代理并配置 HTTPS,而不是直接暴露这些端口。










