服务器部署Java项目所需配置清单
结论: 部署Java项目需要配置JDK、应用服务器/容器、环境变量、项目依赖、数据库连接、安全设置和监控工具。核心在于确保环境一致性和优化运行时性能。
一、基础环境配置
-
JDK安装
- 选择与项目兼容的JDK版本(如OpenJDK 11或Oracle JDK 17)。
- 配置
JAVA_HOME
环境变量,并添加PATH
中bin
目录。
-
操作系统优化
- 调整文件描述符限制(
ulimit -n
)。 - 关闭不必要的服务,减少资源占用。
- 调整文件描述符限制(
二、应用服务器/容器
-
选择部署方式
- 传统应用服务器:Tomcat、Jetty(适合WAR包)。
- 嵌入式容器:Spring Boot内嵌Tomcat(直接运行JAR)。
- 云原生方案:Docker + Kubernetes(需额外配置镜像和编排)。
-
关键配置
- 端口号(如
server.port=8080
)。 - 线程池大小(Tomcat的
maxThreads
)。 - JVM参数:
-Xmx
(堆内存)、-XX:MaxMetaspaceSize
(元空间)。
- 端口号(如
三、项目依赖与构建
-
依赖管理
- 通过Maven/Gradle打包时包含所有依赖(
mvn clean package
)。 - 检查
pom.xml
或build.gradle
中的<scope>provided</scope>
是否需调整。
- 通过Maven/Gradle打包时包含所有依赖(
-
配置文件分离
- 使用
application-{profile}.properties
或环境变量(如SPRING_DATASOURCE_URL
)。 - 敏感信息通过Vault或KMS加密管理。
- 使用
四、数据库与中间件
-
数据库连接
- 配置连接池(HikariCP/Druid)参数:
maxPoolSize
、connectionTimeout
。 - 验证JDBC URL、用户名密码正确性。
- 配置连接池(HikariCP/Druid)参数:
-
缓存与消息队列
- Redis(
spring.redis.host
)、RabbitMQ(spring.rabbitmq.port
)等中间件地址。
- Redis(
五、安全与监控
-
安全加固
- 防火墙开放必要端口(如8080、443)。
- 禁用HTTP敏感头(如
Server: Tomcat
)。
-
监控与日志
- 集成Prometheus + Grafana监控JVM指标。
- 日志集中化(ELK栈),配置
Logback
或Log4j2
滚动策略。
六、部署验证
-
启动检查
- 执行
java -jar app.jar
或启动Tomcat后,验证日志无错误。 - 测试API接口(如
curl http://localhost:8080/health
)。
- 执行
-
性能压测
- 使用JMeter模拟高并发,观察CPU/内存使用率。
核心要点:
- 环境隔离:生产、测试环境配置严格分离。
- 自动化部署:通过CI/CD工具(Jenkins/GitHub Actions)减少人为错误。