Apusic AAS V9.0 部署实战:CentOS 7 系统 5 步完成安装与项目部署
国产中间件在金融、政务等关键领域的应用日益广泛,金蝶Apusic应用服务器(AAS)作为国内领先的JavaEE中间件产品,其V9.0版本在性能优化和安全性方面有显著提升。本文将基于CentOS 7系统,通过五个核心步骤实现从环境准备到项目部署的全流程实战操作,并提供可直接复用的自动化脚本。
1. 环境预检与系统优化
在开始安装前,系统环境的合规性检查能规避80%的部署问题。建议使用物理机或KVM虚拟化环境,避免在OpenVZ等容器化平台运行。
1.1 硬件与系统要求
- 最低配置:2核CPU/4GB内存/50GB磁盘空间
- 推荐生产配置:8核CPU/16GB内存/RAID10磁盘阵列
- 操作系统:CentOS 7.6+(内核版本≥3.10)
执行以下命令验证环境:
# 检查系统版本 cat /etc/redhat-release uname -r # 验证内存与存储 free -h df -h1.2 依赖组件安装
AAS V9.0需要JDK 1.8环境,建议使用Oracle JDK:
# 安装Oracle JDK wget https://download.oracle.com/otn-pub/java/jdk/8u341-b10/jdk-8u341-linux-x64.rpm rpm -ivh jdk-8u341-linux-x64.rpm # 配置环境变量 echo 'export JAVA_HOME=/usr/java/jdk1.8.0_341' >> /etc/profile echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile source /etc/profile1.3 系统参数调优
修改/etc/security/limits.conf文件:
* soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535内核参数优化(/etc/sysctl.conf):
vm.swappiness = 10 net.ipv4.tcp_max_syn_backlog = 8192 net.core.somaxconn = 10242. 安装包部署与配置
2.1 安装包获取与校验
从金蝶官网获取安装包后,建议进行完整性校验:
md5sum AAS-V9.0.zip2.2 自动化安装脚本
创建部署脚本deploy_aas.sh:
#!/bin/bash INSTALL_DIR="/opt/AAS" DOMAIN_NAME="prod_domain" # 创建安装目录 mkdir -p $INSTALL_DIR && cd $INSTALL_DIR unzip AAS-V9.0.zip # 配置JDK路径 sed -i "s|#JAVA_HOME=.*|JAVA_HOME=$(readlink -f $(which java)|sed 's:/bin/java::')|" bin/setenv # 创建生产环境域 ./bin/createdomain -n $DOMAIN_NAME -p 6888 -a admin关键参数说明:
-n指定域名(建议与业务关联)-p设置HTTP监听端口-a设置管理员账号
3. 安全加固与网络配置
3.1 SELinux与防火墙策略
# 临时关闭SELinux setenforce 0 # 永久禁用(生产环境建议配置策略) sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 防火墙放行端口 firewall-cmd --permanent --add-port=6888/tcp firewall-cmd --permanent --add-port=6887/tcp # HTTPS端口 firewall-cmd --reload3.2 管理控制台安全
修改domains/prod_domain/config/apusic.conf:
<ATTRIBUTE NAME="AdminPort" VALUE="6848"/> <ATTRIBUTE NAME="AdminSSL" VALUE="true"/> <ATTRIBUTE NAME="AllowAdminAccess" VALUE="192.168.1.0/24"/>警告:禁止将管理端口暴露在公网,建议通过VPN或跳板机访问
4. 服务启动与验证
4.1 系统服务集成
创建Systemd服务文件/etc/systemd/system/apusic.service:
[Unit] Description=Apusic Application Server After=network.target [Service] Type=forking ExecStart=/opt/AAS/domains/prod_domain/bin/startapusic ExecStop=/opt/AAS/domains/prod_domain/bin/stopapusic User=apusic Group=apusic [Install] WantedBy=multi-user.target启动服务:
systemctl daemon-reload systemctl enable apusic systemctl start apusic4.2 健康状态检查
通过API接口验证:
curl -I http://localhost:6888/health预期返回:
HTTP/1.1 200 OK X-Apusic-Status: GREEN5. 项目部署与运维实践
5.1 WAR包自动化部署
创建部署脚本deploy_app.sh:
#!/bin/bash APP_NAME="order_system" WAR_PATH="/data/uploads/$APP_NAME.war" # 热部署应用 curl -u "admin:${ADMIN_PWD}" \ -X POST \ -F "file=@$WAR_PATH" \ http://localhost:6848/management/v1/applications5.2 性能监控配置
在bin/setenv中添加JVM参数:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"5.3 日志管理方案
配置日志轮转/etc/logrotate.d/apusic:
/opt/AAS/domains/prod_domain/logs/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 apusic apusic sharedscripts postrotate systemctl reload apusic >/dev/null 2>&1 || true endscript }常见故障排查指南
| 现象 | 排查命令 | 解决方案 |
|---|---|---|
| 端口冲突 | netstat -tunlp | grep 6888 | 修改apusic.conf中的端口配置 |
| 内存泄漏 | jstat -gcutil <pid> | 调整bin/setenv中的JVM堆参数 |
| 启动超时 | journalctl -u apusic -f | 检查磁盘IO性能(iostat -x 1) |
| 部署失败 | tail -f domains/prod_domain/logs/server.log | 验证WAR包完整性(unzip -t) |
实际部署某政务系统时,曾遇到因JDK版本不兼容导致的ClassNotFound异常。将Oracle JDK从1.8.0_191升级到1.8.0_301后问题解决,这提醒我们中间件对JDK小版本也有严格要求。