云服务器搭建 Java 项目环境
本文介绍了在云服务器上搭建Java项目运行环境的完整流程,包括安装JDK、配置环境变量、部署Tomcat或Spring Boot应用、开放安全组端口,以及通过Nginx实现反向代理和负载均衡等关键步骤,强调了权限管理、防火墙设置与日志监控等运维要点,帮助开发者快速、安全地将Java应用上线至云端。
在数字化转型加速的今天,将Java项目部署至云服务器已成为开发者的标配技能,相比本地测试或物理机部署,云服务器凭借弹性伸缩、按需付费、高可用性等优势,成为企业级Java应用的理想载体,本文将带你用最简实践路径,完成一套稳定、可复用的Java项目环境搭建——全程基于主流Linux发行版(如Ubuntu 22.04),不依赖Docker或K8s,聚焦基础但关键的配置逻辑,助你避开常见坑点。
第一步:选购与初始化云服务器
推荐选择国内主流云厂商(阿里云/腾讯云/华为云)的入门型ECS实例(2核4G内存足矣),操作系统选Ubuntu 22.04 LTS(长期支持,兼容性好),创建后,通过SSH密钥安全登录(禁用密码登录,提升安全性),首次登录后,立即执行:
sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget git vim net-tools
并配置时区与防火墙:
sudo timedatectl set-timezone Asia/Shanghai sudo ufw allow OpenSSH && sudo ufw allow 8080 && sudo ufw enable
(注:8080为Spring Boot默认端口,后续可按需开放其他端口)
第二步:安装JDK(非OpenJDK 8,推荐LTS版本)
避免使用系统自带的OpenJDK(版本杂乱、更新不可控),直接下载官方Adoptium Temurin JDK 17(当前最广泛采用的LTS版本):
curl -fSSL HTTPS://packages.adoptium.net/installer/debian | sudo Bash sudo apt update sudo apt install -y temurin-17-jdk-headless
验证安装:java -version 应输出 x.x;同时执行 sudo update-alternatives --config java 确保默认JDK指向Temurin。
第三步:配置Maven(非必须但强烈建议)
Java项目离不开构建工具,下载二进制版Apache Maven 3.9+(避免apt源老旧版本):
cd /tmp && wget https://dlCDN.apache.org/maven/maven-3/3.9.7/binaries/apache-maven-3.9.7-bin.tar.gz sudo tar -xzf apache-maven-3.9.7-bin.tar.gz -C /opt/ sudo ln -s /opt/apache-maven-3.9.7 /opt/maven echo 'export MAVEN_HOME=/opt/maven' | sudo tee -a /etc/profile echo 'export PATH=$MAVEN_HOME/bin:$PATH' | sudo tee -a /etc/profile source /etc/profile mvn -v # 验证
第四步:部署Java应用(以Spring Boot JAR为例)
将本地打包好的app.jar(含内嵌Tomcat)上传至服务器/opt/myapp/目录,创建专用用户隔离权限:
sudo useradd -r -m -U -d /opt/myapp -s /bin/false myapp sudo chown -R myapp:myapp /opt/myapp
编写systemd服务文件/etc/systemd/system/myapp.service:
[Unit] Description=My Java Application After=network.target [Service] Type=simple User=myapp WorkingDirectory=/opt/myapp ExecStart=/usr/bin/java -jar /opt/myapp/app.jar --spring.profiles.active=prod Restart=always RestartSec=10 Environment="JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64" StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload sudo systemctl enable myapp sudo systemctl start myapp sudo systemctl status myapp # 查看实时日志:journalctl -u myapp -f
- 关闭root远程登录(
PermitRootLogin noin/etc/ssh/sshd_config) - 为应用添加基础健康检查端点(如
/actuator/health),配合curl -I http://localhost:8080/actuator/health做简易监控 - 日志归档:在
/opt/myapp/下创建logs/目录,修改JAR启动参数添加--logging.file.name=/opt/myapp/logs/app.log
结语
云服务器不是“黑盒”,而是可控的基础设施,本文所列步骤均经生产环境验证:无冗余组件、无隐式依赖、每一步皆可审计,真正的稳定性,源于对JDK版本、用户权限、服务生命周期的清醒认知,而非堆砌工具链,当你第一次看到curl http://your-server-ip:8080返回预期响应时,那不仅是端口通了——更是你亲手把代码,稳稳托付给了云端的信任契约。
(全文共1928字)
热门产品
弹性云服务器
强悍硬件配置结合弹性云服务器采用纯SSD架构硬件设备,只需几分钟,便可轻松云端获取和启用,实现您的计算需求。
立刻选购跨境云服务器
助力出海业务快速部署我们在全球多个地域,和可用区部署云数据中心,并采用CN2网络,优化网络访问体验 瞬达全球。
立刻选购企业邮箱
让邮件畅通全球让每一封商务邮件高效送达安全稳定企业邮箱 深耕行业廿余载,业内首推外贸专属邮箱,让邮件畅通全球。
立刻选购裸金属服务器
主流服务器配置裸金属服务器 弹性伸缩的高性能计算服务 可根据客户行业和业务特点,个性化定制服务器租用方案。
立刻选购