Apollo的启动

Apollo启动

启动apollo所需的3个服务apollo-configservice、apollo-adminservice、apollo-portal都需要连接到数据库,连接MySQL数据库时的时区参数是必须的(对于1.7.1版本),除此之外,进行数据库连接时还可以设置各种参数,如设置字符集characterEncoding=utf8。当需要设置多个参数时(如设置字符集和时区),使用命令行启动时就会报错。
注意:文中所有涉及到数据库连接信息的地方都需要修改为自己数据库的信息(如用户名和密码等)。

启动命令

java -Xms256m -Xmx256m -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?serverTimezone=Asia/Shanghai&characterEncoding=utf8 -Dspring.datasource.username=root -Dspring.datasource.password=xxxx -jar apollo-configservice-1.7.1.jar

错误信息

‘characterEncoding’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

这是因为在DOS命令行中,&起到了分割命令的作用, &后的内容被当做下一个命令了。

可以采用以下方法来启动apollo。

方法一

直接将数据库连接信息用“”包裹起来,使用引号包裹起来的数据会被认为是单纯的字符串,&也不会被当做分隔符了。具体命令如下所示(apollo-configservice的启动)。

java -Xms256m -Xmx256m -Dspring.datasource.url=“jdbc:mysql://localhost:3306/ApolloConfigDB?serverTimezone=Asia/Shanghai&characterEncoding=utf8” -Dspring.datasource.username=root -Dspring.datasource.password=xxxx -jar apollo-configservice-1.7.1.jar

apollo-adminservice和apollo-portal的改动与之类似。下面给出启动脚本,可一次性启动三个服务。

runApollo.bat

echo
set url="localhost:3306"
set username="root"
set password="xxxx"
start "configService" java -Xms256m -Xmx256m -Dapollo_profile=github -Dspring.datasource.url="jdbc:mysql://%url%/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai" -Dspring.datasource.username=%username% -Dspring.datasource.password=%password% -Dlogging.file=.\logs\apollo-configservice.log -jar .\apollo-configservice-1.7.1.jar
start "adminService" java -Xms256m -Xmx256m -Dapollo_profile=github -Dspring.datasource.url="jdbc:mysql://%url%/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai" -Dspring.datasource.username=%username% -Dspring.datasource.password=%password% -Dlogging.file=.\logs\apollo-adminservice.log -jar .\apollo-adminservice-1.7.1.jar
start "ApolloPortal" java -Xms256m -Xmx256m -Dapollo_profile=github,auth -Ddev_meta=http://localhost:8080/ -Dserver.port=8070 -Dspring.datasource.url="jdbc:mysql://%url%/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai" -Dspring.datasource.username=%username% -Dspring.datasource.password=%password% -Dlogging.file=.\logs\apollo-portal.log -jar .\apollo-portal-1.7.1.jar
方法二

还有一种方法是采用官方的启动脚本。(需使用linux命令,windows系统可以使用git的Git Bash来运行)

参照上篇博客中说到的,我们下载了apollo的配置,一共是4个压缩包,apollo-1.7.1.zip、apollo-adminservice-1.7.1-github.zip、apollo-configservice-1.7.1-github.zip、apollo-portal-1.7.1-github.zip。将apollo-1.7.1.zip解压缩后的目录就相当于apollo安装目录,之后将其余的3个压缩包解压缩到apollo安装目录。

以启动apollo-configservice为例。

  1. 进入目录apollo-configservice-1.7.1-github中,再进入config目录中,之后修改application-github.properties文件,里边是数据库的连接信息,可以设置多个参数,如时区和字符集,如下图所示。
    在这里插入图片描述

  2. 进入apollo-configservice-1.7.1-github/scripts目录,找到startup.sh文件,这个就是apollo-configservice服务的启动脚本(另外一个shutdown.sh是停止脚本),修改文件内的LOG_DIR为本地存放日志文件的地址,如下图所示。
    在这里插入图片描述

  3. 在当前目录启动Git Bash,输入./startup.sh,等待启动完成。
    在这里插入图片描述

  4. 退出服务时,在当前目录启动Git Bash,输入./shutdown.sh即可。

其余两个服务apollo-adminservice、apollo-portal与之类似。

补充

修改端口

启动apollo的三个服务默认占用8070、8080和8090三个端口号,可以在启动时对此进行修改。

使用方法一启动时 :可以通过启动参数Dserver.port来进行修改,如以8071端口来启动apollo-portal。

java -Xms256m -Xmx256m -Ddev_meta=http://localhost:8080/ -Dserver.port=8071 -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloPortalDB?serverTimezone=Asia/Shanghai -Dspring.datasource.username=root -Dspring.datasource.password=xxxx -jar apollo-portal-1.7.1.jar

使用方法二启动时:只需要修改启动脚本中的SERVER_PORT的端口号即可(方法二步骤2图内的蓝框所示)。

注意:当修改apollo-configservice服务的端口时,还需要修改对应数据库内的Eureka地址,以及apollo-portal启动时也要修改Ddev_meta启动参数的值。数据库的修改sql语句如下。

-- ApolloConfigDB数据库的名字
USE ApolloConfigDB;
-- 将8080改为自己设定的端口号
UPDATE ServerConfig SET `Value` = "http://localhost:8080/eureka/" WHERE `key` = "eureka.service.url";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值