环境准备:系统要求与依赖安装
到这一步,咱们得先把手里的家伙事儿捋顺了。我见过不少新手,上来就写代码,结果环境配了半天,最后发现是基础没打牢。今天就先把环境搞定。
系统要求
说白了,你的机器得能跑起来这些服务。我个人习惯用 64 位的 Linux 服务器,尤其是 Ubuntu 20.04 LTS 或 CentOS 7 以上版本。如果你手头只有 Windows,也别慌,WSL2 完全够用。
| 组件 | 最低要求 | 推荐配置 | 备注 |
|---|---|---|---|
| CPU | 2 核 | 4 核+ | 并发高时很关键 |
| 内存 | 4 GB | 8 GB 以上 | Access Audit 服务大概占 2 GB |
| 磁盘 | 20 GB 空余 | SSD 50 GB+ | 日志与审计数据增长很快 |
| 操作系统 | 64 位 Linux / Windows Server 2016+ | Ubuntu 22.04 / CentOS 8 | WSL2 也可以,但生产环境别用 |
| JDK | 11 | 17 或 21 | 接口解析需要 Java 运行时 |
小提示: 有一次我在一个 2 核 4GB 的虚拟机上硬跑,结果 Access Audit 的界面加载直接卡死。你想想看,光操作系统就用掉一半内存,哪还有空间给服务?所以有条件就上 8GB,省心很多。
软件依赖项
咱们要装的东西不多,但环环相扣。下面这张图帮你快速看明白整体依赖关系。
安装步骤
好,咱们直接开干。我按照最常见的 Linux 环境(Ubuntu 22.04)来走一遍。Windows 用户请打开 WSL2 后再操作。
1. 更新系统包索引
sudo apt update && sudo apt upgrade -y
这一步简单,但别跳过。我遇到过一位同事,直接跳过更新就装软件,结果依赖冲突花了两小时才解决。
2. 安装 JDK 17(推荐)
sudo apt install openjdk-17-jdk -y
java -version
输出里看到 "openjdk version 17.x.x" 就算成了。嗯,这里要注意:如果你的生产环境还在用 JDK 8,那得确认 Access Audit 的版本是否兼容。我个人建议至少用 11,17 的 GC 性能好很多。
3. 安装 Python 3.10 与 pip
sudo apt install python3 python3-pip -y
python3 --version
pip3 --version
Access Audit 的接口测试脚本是用 Python 写的。曾经有一次,我图省事装了 Python 3.6,结果一个加密库死活装不上。所以版本别太低,3.8 起步,3.10 最稳。
4. 安装 Node.js 18 LTS
如果你想接入 Webhook 或者自定义插件,Node.js 就是刚需。
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v
核心观点: 依赖安装的顺序其实有讲究:操作系统 → JDK → Python 与 Node(可并行)→ Access Audit 服务。乱序装容易遇到 PATH 找不到的情况。我一般先装 JDK,因为好多工具底层都靠它。
5. 配置环境变量(重点)
装完只是第一步,你得告诉系统这些工具在哪。我个人习惯把下面几行加到 ~/.bashrc 或 ~/.zshrc 里:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export NODE_HOME=/usr/local/node-v18
export PATH=$PATH:$NODE_HOME/bin
记得执行 source ~/.bashrc 生效。好多人装完就忘了这一步,然后跟我说“配好了但命令找不到”,其实就差一个 source。
6. (可选) Docker 环境安装
如果你想用容器部署 Access Audit,那 Docker 必不可少。我建议你学习阶段就用 Docker,踩坑了直接删容器重来,成本极低。
sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker
docker --version
别忘了把当前用户加入 docker 组,不然每次都要 sudo:
sudo usermod -aG docker $USER
newgrp docker
警告: 不要在生产环境把 docker 组权限随意给用户。这会带来安全风险。学习阶段无所谓,但上了生产一定要严格控制。
验证环境就绪
所有组件安装完后,跑一遍快速验证脚本,确保每个依赖都活着。
echo "=== JDK ===" && java -version && \
echo "=== Python ===" && python3 --version && \
echo "=== Node ===" && node -v && \
echo "=== Docker ===" && docker version
如果每一步都输出了版本号,恭喜,环境准备好了。我记得有一次帮人远程排错,最后发现他没装 pip,导致 Python 脚本根本跑不起来。所以别偷懒,每条命令都敲一遍。
常见问题与避坑指南
- 端口冲突: Access Audit 默认用 8080 和 8443。如果被占用了,比如 Nginx 或 Jenkins,你可以临时停掉它们,或者改 Access Audit 的端口。我的经验是,开发环境用 8080,生产再换成 8443 加证书。
- JDK 版本不匹配: 有些老插件只认 JDK 11。如果你用了 17,记得在启动参数里加上
--add-opens之类的 JVM 参数。具体翻官方文档,别硬试。 - Python 库版本冲突: 强烈建议用虚拟环境。我在项目中就吃过亏,全局装了一堆库,结果两个项目依赖的版本打架。用
python3 -m venv隔离一下,省心十倍。 - Docker 网络模式: 如果你用 WSL2,记得把 Docker Desktop 的 WSL 集成打开。不然容器和宿主机网络不通,Access Audit 的控制台日志会一直报连接超时。
小技巧: 装完所有依赖后,我习惯做个快照(虚拟机或 WSL 的导出)。一旦环境被你搞乱了,直接恢复快照,比重新装一遍快多了。教学班的学生都说这招是“后悔药”。
环境准备这件事,看着琐碎,但真别急。磨刀不误砍柴工,后面咱们配接口策略、调审计规则的时候,一个稳定的环境能让你少掉 80% 的头发。