准备工作
-
硬件与系统要求
- 服务器:云服务器(阿里云/酷盾)或物理机,建议≥2核CPU、4GB内存。
- 操作系统:Linux(Ubuntu/CentOS)或 Windows Server,推荐 Ubuntu 22.04 LTS(稳定性高)。
- 网络:公网IP地址、开放端口(如80/443/8080),域名(可选但建议绑定)。
-
必备软件
- JDK(Java开发工具包):
- 下载最新LTS版本(如JDK 17)Oracle官网 或 OpenJDK。
- 安装命令(Ubuntu示例):
sudo apt update sudo apt install openjdk-17-jdk
- Web服务器:
- 常用选择:Apache Tomcat(轻量级)、WildFly(企业级)、Spring Boot内嵌服务器。
- Tomcat安装示例:
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.10/bin/apache-tomcat-10.1.10.tar.gz tar -xzf apache-tomcat-10.1.10.tar.gz cd apache-tomcat-10.1.10/bin ./startup.sh # 启动Tomcat
- JDK(Java开发工具包):
搭建步骤
配置Java环境
- 验证JDK安装:
java -version # 输出类似 "openjdk 17.0.8 2025-07-18"
- 设置环境变量(如未自动配置):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
部署Java应用
-
方式1:传统WAR包部署(Tomcat)
- 将项目打包为
your-app.war
,复制到Tomcat的webapps/
目录。 - 重启Tomcat:
./shutdown.sh && ./startup.sh
- 访问应用:
http://服务器IP:8080/your-app
- 将项目打包为
-
方式2:Spring Boot独立JAR
- 打包为可执行JAR:
mvn clean package
(Maven)或Gradle构建。 - 运行:
nohup java -jar your-app.jar --server.port=8080 > app.log 2>&1 &
- 访问:
http://服务器IP:8080
- 打包为可执行JAR:
配置公网访问
- 防火墙开放端口(以Ubuntu为例):
sudo ufw allow 8080/tcp # 开放8080端口 sudo ufw enable # 启用防火墙
- 域名绑定(可选):
- 在域名DNS设置中添加A记录,指向服务器公网IP。
- 配置Nginx反向代理(提升安全性与性能):
server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:8080; # 转发到Java应用 proxy_set_header Host $host; } }
安全与优化
-
安全措施
- 禁用服务器敏感信息:
- Tomcat中删除
webapps/manager
和webapps/host-manager
(若无需监控)。
- Tomcat中删除
- 使用HTTPS:
- 申请免费SSL证书(Let’s Encrypt),配置Nginx强制HTTPS。
- 限制访问:
仅开放必要端口(如22, 80, 443),禁用root远程登录。
- 禁用服务器敏感信息:
-
性能优化
- JVM参数调整:
java -Xms512m -Xmx2048m -jar your-app.jar # 设置堆内存范围
- 线程池配置(Tomcat):
修改conf/server.xml
,调整maxThreads
(如200)和acceptCount
(如100)。
- JVM参数调整:
常见问题解决
- 端口冲突:
netstat -tuln | grep 8080 # 检查占用 kill -9 <PID> # 结束进程或更换端口
- 应用无法访问:
- 检查防火墙状态:
sudo ufw status
。 - 确认服务器安全组规则(云平台需额外配置)。
- 检查防火墙状态:
- 内存溢出:
- 分析堆栈:
jmap -heap <PID>
,优化代码或增加-Xmx
值。
- 分析堆栈:
验证与维护
- 测试访问:
- 本地测试:
curl http://localhost:8080
- 公网测试:浏览器访问
http://服务器IP:8080
或域名。
- 本地测试:
- 日志监控:
- Tomcat日志:
logs/catalina.out
- Spring Boot日志:
app.log
(自定义路径)。
- Tomcat日志:
- 定期更新:
升级JDK、服务器软件以修复漏洞。
引用说明
- JDK下载:Oracle Java SE
- Tomcat文档:Apache Tomcat 10
- Nginx配置指南:Nginx Beginner’s Guide
- 安全加固参考:OWASP Secure Configuration Guide
提示:生产环境建议使用Docker容器化部署(如Tomcat镜像)或Kubernetes集群管理,以提高可扩展性和可靠性,遇到复杂问题可查阅官方文档或社区论坛(如Stack Overflow)。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/26584.html