非容器化部署指南
前言
AREX 目前主要支持容器化安装,这种方式省去了应用启动及环境配置等环节,易用性较高。同时,AREX 也支持用户进行常规的非容器化安装,本文从常规的配置着手,描述 AREX 的编译部署和运行。
安装前置条件
在安装之前,需要准备一些常用的开发工具和软件,具体如下:
- Redis 安装:根据实际配置,准备链接字符串(替换 redis 主机地址和端口),用于连接 Redis 数据库。如:
redis://redis:6379/
- MongoDB 安装:根据实际配置,准备链接字符串(替换账号和 mongodb 地址),用于连接 MongoDB 数据库。如:
mongodb://arex:iLoveArex@mongodb:27017/arex_storage_db
- Java 编译环境安装:建议安装 JDK8 或者 JDK11
- Maven 安装:建议安装版本为 3.6.3 及以上。
- NODEJS 安装:建议安装版本为 18.16.0 及以上。
- Tomcat 安装:建议安装版本为 Tomcat 9。
最小配置建议
- AREX-front 前端服务最小配置:1 核 1G 内存
- AREX-Storage 服务最小配置:2 核 3G 内存
- AREX-Schedule 服务 最小配置:2 核 4G 内存
- AREX-API 服务(原 Report 服务)最小配置:2 核 6G 内存
YOUR local IP (仅为示例,请根据实际情况修改) | 关联服务组件 | ||
---|---|---|---|
1 | AREX-front | 10.5.1.100 | AREX-API,Storage,Schedule 服务 |
2 | AREX-Storage | 10.5.1.101 | MongoDB,Redis,AREX-PI 服务 |
3 | AREX-Schedule | 10.5.1.102 | MongoDB,Redis,Storage,AREX-API 服务 |
4 | AREX-API | 10.5.1.103 | MongoDB,Redis,Storage服务,Front 前端 |
Java 应用安装通用步骤
- 步骤一:下载 Java 8 或 11。
- 步骤二:下载 Apace Tomcat 服务器,作为 AREX 的应用服务器。
- 步骤三:下载 AREX 代码,并将其编译成 arex-some-components-service.war 文件
- 步骤四:将 arex-some-components-service.war 文件复制到 Apache Tomcat 服务器的 webapps 文件夹中。
- 步骤五:启动 Apache Tomcat 服务器。
- 步骤六:访问 Tomcat 的 URL,检查 Tomcat 服务器是否正常运行。
- 步骤七:从 Apache Tomcat 启动 AREX 组件,开始使用 AREX。
AREX JAVA 服务的编译安装
需要分别安装 AREX-API 服务,Storage 服务,Schedule 服务,最后安装前端的 Front(nodejs)服务即可。
AREX-API 服务编译安装
- Clone AREX-API 服务仓库源码
git clone https://github.com/arextest/arex-api.git
- 编译项目
cd arex-api
mvn clean package
- 检查 war 文件是否存在
ls arex-web-api/target/
- 执行以下命令,将
arex-platform-web-service.war
复制到 Tomcat 的webapps
目录下。
cp arex-api/arex-web-api/target/arex-platform-web-service.war /usr/local/tomcat/webapps
- 执行
vim server.xml
命令,编辑server.xml
配置文件并保存
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
在标签中增加一行标签,用于指定 arex-platform-web-service
的部署信息,如下所示,其中 path
属性表示 URL 路径,docBase
属性表示 war 包所在路径,reloadable
属性表示是否支持热部署。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="arex-platform-web-service" reloadable="true" />
- 配置环境变量
export JAVA_OPTS="-Darex.mongo.uri=mongodb://arex:iLoveArex@mongodb:27017/arex_storage_db -Darex.redis.uri=redis://redis:6379/ -Darex.storage.service.url=http://10.5.1.101 -Darex.ui.url=http://10.5.1.100"
- 启动 Tomcat
Schedule 服务编译安装
- Clone Schedule 服务仓库源码
git clone https://github.com/arextest/arex-replay-schedule.git
- 编译项目
mvn clean package
- 检查
war
文件是否存在
ls arex-schedule-web-api/target/
- 执行以下命令,将
arex-schedule-web-api.war
复制到 Tomcat 的webapps
目录下。
cp arex-schedule-web-api/target/arex-schedule-web-api.war /usr/local/tomcat/webapps
- 执行
vim server.xml
命令,编辑server.xml
配置文件并保存
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
在标签中增加一行标签,用于指定 arex-schedule-web-api.war 的部署信息,如下所示。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="arex-schedule-web-api.war" reloadable="true" />
- 配置环境变量
export JAVA_OPTS="-Darex.mongo.uri=mongodb://arex:iLoveArex@mongodb:27017/arex_storage_db -Darex.redis.uri=redis://redis:6379/ -Darex.storage.service.url=http://10.5.1.101 -Darex.api.service.api=http://10.5.1.103"
- 启动 Tomcat
Storage 服务编译安装
- Clone Storage 服务仓库源码
git clone https://github.com/arextest/arex-storage.git
- 编译项目
mvn clean package
- 检查
war
文件是否存在
ls arex-storage-web-api/target/
- 执行以下命令,将
arex-storage-web-api.war
复制到 Tomcat 的webapps
目录下。
cp arex-storage/arex-storage-web-api/target/arex-storage-web-api.war /usr/local/tomcat/webapps
- 执行
vim server.xml
命令,编辑server.xml
配置文件并保存
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
在标签中增加一行标签,用于指定 arex-storage-web-api.war
的部署信息,如下所示。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="arex-storage-web-api" reloadable="true" />
- 配置环境变量
export JAVA_OPTS="-Darex.mongo.uri=mongodb://arex:iLoveArex@mongodb:27017/arex_storage_db -Darex.redis.uri=redis://redis:6379/ -Darex.api.service.api=http://10.5.153.103"
- 启动 Tomcat
AREX NODEJS 服务安装
AREX Front 前端安装
- Clone AREX 前端仓库源码
git clone https://github.com/arextest/arex.git
- 编译项目
npm install pnpm -g
pnpm install --loglevel verbose
pnpm run build
- 环境变量配置
export SERVICE_API_URL=http://10.5.1.103 SERVICE_SCHEDULE_URL=http://10.5.1.102 SERVICE_STORAGE_URL=http://10.5.1.101
- 启动 NODEJS 服务
node packages/arex/server.js
至此 AREX 所有服务完整安装,浏览器访问 AREX 前端服务(http://10.5.1.100
)即可使用。