java -jar yourapp.jar
或部署到Tomcat等Servlet容器(如将WAR放入webapps目录并运行startup脚本),启动后监听端口处理HTTP请求。环境准备
-
安装JDK
-
选择Web服务器
- Tomcat(推荐):下载Tomcat 10,解压后目录结构如下:
bin/ # 启动/停止脚本 webapps/ # 应用部署目录 conf/ # 配置文件
- 其他选项:Jetty、Undertow或Spring Boot内置服务器。
- Tomcat(推荐):下载Tomcat 10,解压后目录结构如下:
部署Java网站应用
-
打包应用
- 项目构建为WAR包(传统Java Web)或可执行JAR(Spring Boot):
- Maven:
mvn clean package
→ 生成target/*.war
或*.jar
。 - Gradle:
gradle build
→ 生成build/libs/*.war
。
- Maven:
- 项目构建为WAR包(传统Java Web)或可执行JAR(Spring Boot):
-
部署到服务器
- Tomcat部署:
- 将WAR文件复制到
tomcat/webapps/
目录。 - 启动Tomcat:
bin/startup.sh
(Linux/macOS)或bin/startup.bat
(Windows)。 - 应用自动解压,访问
http://localhost:8080/你的应用名
。
- 将WAR文件复制到
- 可执行JAR部署(Spring Boot):
java -jar your-app.jar --server.port=8080
- Tomcat部署:
启动服务与验证
-
启动命令
- Tomcat:
# Linux/macOS ./bin/catalina.sh run # 前台运行(日志实时输出) ./bin/startup.sh # 后台运行
- Spring Boot:
java -jar spring-app.jar --spring.profiles.active=prod
- Tomcat:
-
验证服务状态
- 检查日志:
- Tomcat:
tail -f logs/catalina.out
- Spring Boot:控制台输出或
logs/
目录。
- Tomcat:
- 访问测试:
- 浏览器打开
http://服务器IP:8080
- 使用curl:
curl -I http://localhost:8080
(返回HTTP 200即成功)。
- 浏览器打开
- 检查日志:
生产环境优化
-
安全配置
- 禁用Tomcat管理页面(删除
webapps/manager
和host-manager
)。 - 修改默认端口(编辑
conf/server.xml
的<Connector port="8080">
)。 - 设置防火墙(仅开放80/443端口)。
- 禁用Tomcat管理页面(删除
-
进程守护
- 使用
systemd
(Linux)托管服务,避免进程退出:# /etc/systemd/system/tomcat.service [Service] ExecStart=/opt/tomcat/bin/catalina.sh run User=tomcat Restart=always
- 使用
-
性能调优
- JVM参数调整(
bin/setenv.sh
):export JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"
- JVM参数调整(
常见问题解决
- 端口冲突:
netstat -tuln | grep 8080
查找占用进程,修改server.xml
或应用端口。 - 应用未加载:
检查WAR是否损坏,或webapps/
目录权限(chmod -R 755 webapps
)。 - 内存不足:
调整JVM堆大小(-Xmx2048m
)。 - 数据库连接失败:
验证application.properties
或conf/context.xml
中的数据库配置。
注意事项
- 定期更新:及时升级JDK、Tomcat和依赖库以修复漏洞。
- 备份策略:每日备份应用数据和配置文件。
- 监控工具:集成Prometheus + Grafana监控JVM状态和请求流量。
引用说明:
- Tomcat官方文档:Apache Tomcat Configuration
- Oracle JDK安装指南:Java SE Documentation
- Spring Boot部署:Deploying Spring Boot Applications
遵循上述步骤,您的Java网站服务将高效稳定运行,如遇复杂场景(集群、SSL证书),建议参考对应服务器的官方文档或咨询专业运维人员。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/27144.html