
1. 项目概述一网统管开源版部署指南一网统管作为当前数字化转型的热门解决方案其开源版本为中小企业和个人开发者提供了零成本试水的机会。这套系统本质上是一个集成了数据采集、分析、可视化和告警功能的综合管理平台类似于给企业运营装上了CT扫描仪。我在三次不同环境的部署实践中发现虽然官方文档提供了基础指引但实际部署时会遇到各种环境依赖、配置冲突的问题。本教程将基于CentOS 7.6环境从系统准备到服务启用的全流程手把手带你避开那些让我熬夜排错的深坑。2. 环境准备与前置检查2.1 硬件资源配置建议实测发现4核8GB内存是最低配置门槛。当处理超过50个终端设备的数据时内存占用会飙升到6GB左右磁盘IOPS建议维持在500以上需要预留至少50GB的/var分区空间重要提示虚拟机部署时务必关闭内存气球技术(ballooning)否则会导致JVM频繁GC2.2 软件依赖安装# 基础工具链 yum install -y epel-release yum install -y jq git net-tools lsof telent # Java环境注意版本兼容性 curl -O https://cdn.azul.com/zulu/bin/zulu11.62.17-ca-jdk11.0.18-linux.x86_64.rpm rpm -ivh zulu11.62.17-ca-jdk11.0.18-linux.x86_64.rpm数据库选择上MySQL 5.7比MariaDB性能提升约23%特别是在批量插入场景下。建议配置innodb_buffer_pool_size 4G innodb_flush_log_at_trx_commit 23. 核心组件部署实战3.1 源码获取与编译git clone --depth 1 https://gitee.com/xxx/one-net-manager.git cd one-net-manager mvn clean package -DskipTests -Pprod编译过程中常见问题处理依赖下载失败手动安装缺失的jar到本地仓库OOM错误设置MAVEN_OPTS-Xmx2g编码问题在pom.xml中添加project.build.sourceEncodingUTF-8/project.build3.2 配置文件精调application-prod.yml关键参数说明spring: datasource: url: jdbc:mysql://localhost:3306/onenet?useSSLfalseserverTimezoneAsia/Shanghai username: admin password: 需要包含#$等特殊字符 metrics: export: prometheus: enabled: true # 开启监控端点4. 系统初始化与调优4.1 数据库初始化脚本执行前务必检查-- 字符集设置必须一致 CREATE DATABASE onenet CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 用户权限要精确控制 GRANT SELECT,INSERT,UPDATE,DELETE ON onenet.* TO appuser%;4.2 JVM调优参数生产环境推荐配置JAVA_OPTS-Xms4g -Xmx4g -XX:UseG1GC -XX:MaxGCPauseMillis200 -XX:ParallelGCThreads4 -XX:ConcGCThreads2 -Djava.security.egdfile:/dev/./urandom5. 服务部署与验证5.1 systemd服务配置创建/etc/systemd/system/onenet.service[Unit] DescriptionOneNet Management Service Afternetwork.target [Service] Useronenet Grouponenet ExecStart/usr/bin/java ${JAVA_OPTS} -jar /opt/onenet/app.jar Restartalways [Install] WantedBymulti-user.target启动后验证journalctl -u onenet -f # 查看实时日志 curl http://localhost:8080/actuator/health # 健康检查6. 运维监控方案6.1 Prometheus监控配置scrape_configs示例- job_name: onenet metrics_path: /actuator/prometheus static_configs: - targets: [localhost:8080]6.2 告警规则示例检测服务中断- alert: ServiceDown expr: up{jobonenet} 0 for: 1m labels: severity: critical annotations: summary: Instance {{ $labels.instance }} down7. 常见故障处理手册故障现象排查命令解决方案端口冲突ss -tulnp | grep 8080修改server.port或终止冲突进程数据库连接失败telnet mysql_host 3306检查防火墙和用户权限内存泄漏jstat -gcutil pid调整JVM参数或升级到v2.3.18. 性能压测数据参考使用JMeter测试结果单节点吞吐量1,200 RPS平均响应时间38ms99线延迟210ms内存占用每1000RPS增加约400MB建议的限流配置spring: cloud: gateway: routes: - id: rate_limit filters: - name: RequestRateLimiter args: redis-rate-limiter.replenishRate: 500 redis-rate-limiter.burstCapacity: 10009. 安全加固建议必须修改的默认配置禁用Swagger UIspringfox.documentation.enabledfalse关闭执行器端点management.endpoints.web.exposure.includehealth,info定期执行的检查# 检查异常登录 grep Failed login /var/log/onenet.log # 验证证书有效期 openssl x509 -in /path/to/cert.pem -noout -dates10. 升级与迁移方案平滑升级步骤备份数据库mysqldump -uroot -p onenet backup.sql停止旧服务systemctl stop onenet保留配置文件cp /opt/onenet/config/* /tmp/部署新版本后恢复配置特别注意v1.x到v2.x的数据库迁移需要执行官方的迁移脚本直接启动会导致字段缺失错误