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包部署。