部署camel-agent

优质
小牛编辑
140浏览
2023-12-01

2.4 部署camel-agent

camel-agent是部署在Dengine服务器上的agent模块,负责接收管理端的请求,对本机的Nginx进行管理。camel-agent可以对本机Nginx服务器进行配置管理、进程重启等功能。

camel-agent使用Java编写,并采用了微服务框架spring-boot进行开发。

2.4.1 搭建初始环境

camel-agent是一个Java项目,请先安装好JDK与Maven。请安装JDK 7以上的版本及Maven 3。spring-boot框架官方不支持JDK 6。如果您只能采用JDK6,请在GitHub上参考第三方的兼容项目。

spring-boot内嵌了Web容器,可以根据需要选择tomcat或者jetty。因此无需单独安装Web服务器。

初始环境搭建完毕后,请下载camel代码到本地。

2.4.2 运行camel-agent

得益于spring-boot微服务框架,camel-agent运行变的非常便捷。共有三种运行方式:maven运行;IDE运行;部署war包。

在运行之前,请先确保Nginx已经运行。camel-agent会调用nginx reload的命令,如果Nginx没有运行,在某些环境下camel-agent重启命令可能会失败。

2.4.2.1 maven运行:

如果您是第一次运行camel-agent,建议使用这种方式。仅需一条命令,即可运行整个项目。

进入camel-agent目录,运行mvn spring-boot:run,maven会自动下载依赖组建,然后调用spring-boot插件运行项目。

2.4.2.2 IDE运行:

如果您需要debug camel-agent,建议使用该种方式。

通过IDE debug运行类com.dianping.platform.slb.agent.CamelAgentApplication的main方法,即可启动容器。此时是debug状态,在所需的代码埋点,即可debug代码。

2.4.2.3 部署war包:

如果您是长期部署agent,并有Web容器,建议使用这种方式。

请先配置maven打包方式,修改camel/camel-agent/pom.xml中的package字段为war。

然后再进入camel-agent目录,运行mvn clean pakcage,maven会自动下载依赖组建,并构建war包。

随后将war包拷贝到Web容器的目录下,启动Web容器即可。

2.4.2.4 不支持jar包:

虽然spring-boot会打一个富jar包,由于camel-agent包含一些脚本文件,当使用jar包运行时,无法定位到脚本文件,故目前不支持jar包部署。