当前位置:首页 > 云服务器

在云服务器ECS上搭建Java运行环境_CentOS系统的Java部署

游戏科技网2026年09月15日 01:16云服务器10
描述:Java部署失败主因是JDK版本、防火墙/SELinux、systemd配置、文件权限四类问题:须用Temurin替代OpenJDK;firewalld放行端口并配置SELinux端口类型;systemd需重定向日志、设重启策略及工作目录;全程统一非root用户并规范tmp与日志目录权限。Java…
Java部署失败主因是JDK版本、防火墙/SELinux、systemd配置、文件权限四类问题:须用Temurin替代OpenJDK;firewalld放行端口并配置SELinux端口类型;systemd需重定向日志、设重启策略及工作目录;全程统一非root用户并规范tmp与日志目录权限。

在云服务器ECS上搭建Java运行环境_CentOS系统的Java部署

Java 版本选错直接导致 java -version 报错或应用启动失败

CentOS 默认源里的 java-1.8.0-openjdk 看似能用,但很多 Spring Boot 2.3+、Dubbo 3.x 或 JNI 调用场景会因 OpenJDK 缺少某些 native 组件而崩溃。别贪省事直接 yum install java —— 它装的是最小化运行时,连 jps 都可能找不到。

实操建议:

立即学习Java免费学习笔记(深入)”;

  • 生产环境统一用官方二进制包:去 Adoptium 下载 Temurin-17.jdk(LTS)或 Temurin-21.jdk,解压到 /opt/java
  • 手动配置 JAVA_HOME:在 /etc/profile.d/java.sh 里写死路径,别依赖 alternatives,否则重启后失效
  • 验证是否生效:source /etc/profile.d/java.sh && java -version 输出必须带 Eclipse Temurin 字样,不是 openjdk

防火墙和 SELinux 不关,Spring Boot 的 server.port=8080 就是死活不响应

云服务器默认开启 firewalld,且 CentOS 7/8 的 SELinux 策略会拦截 Java 进程绑定端口——哪怕 netstat -tlnp | grep 8080 显示进程在跑,curl localhost:8080 成功,外网依然 404 或超时。

实操建议:

立即学习Java免费学习笔记(深入)”;

  • 放行端口别只改 iptables:执行 firewall-cmd --permanent --add-port=8080/tcp,再 firewall-cmd --reload
  • SELinux 临时关闭可验证问题:setenforce 0;若恢复访问,说明是它拦的;长期方案是 semanage port -a -t http_port_t -p tcp 8080
  • 检查 Java 应用是否绑定了 127.0.0.1:Spring Boot 默认 server.address=127.0.0.1,得显式设成 0.0.0.0

systemd 管理 Java 服务时,java -jar 启动失败却没日志

直接写 ExecStart=/usr/bin/java -jar /opt/app.jar 很危险:Java 进程一挂 systemd 就认为服务“已退出”,但标准错误流被吞掉,journalctl -u app 只看到 “Started” 和 “Stopped”,查不到 OOM 或 ClassNotFoundException。

在云服务器ECS上搭建Java运行环境_CentOS系统的Java部署
Javascript Sdk

用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。

下载

实操建议:

立即学习Java免费学习笔记(深入)”;

  • 必须重定向输出:ExecStart=/usr/bin/java -jar /opt/app.jar >> /var/log/app.log 2>&1
  • Restart=alwaysRestartSec=10,否则 JVM 崩溃后服务就停了
  • 指定工作目录:WorkingDirectory=/opt,避免读取配置文件时路径错乱
  • 内存参数别写死在命令行:用 Environment="JAVA_OPTS=-Xms512m -Xmx1g",方便后续调参

用户权限不对,java -jar 跑着跑着就 Permission denied

很多人用 root 启动一次,生成了 /tmp 下的 jar 解压目录或日志文件,之后改用普通用户跑,结果报 java.io.FileNotFoundException: /tmp/jar_cache_abc/META-INF/MANIFEST.MF (Permission denied) —— 这不是 Java 错,是 Linux 文件权限继承惹的祸。

实操建议:

立即学习Java免费学习笔记(深入)”;

  • 从头到尾只用一个非 root 用户部署:比如创建 appuserchown -R appuser:appuser /opt/app.jar
  • 禁用 tmp 目录自动解压:启动时加 -Djvm.tmp.dir=/opt/app/tmp,并提前 mkdir -p /opt/app/tmp && chown appuser:appuser /opt/app/tmp
  • 检查 /var/log 下日志目录权限:如果用 logback-spring.xml 写日志到 /var/log/myapp,得 mkdir -p /var/log/myapp && chown appuser:appuser /var/log/myapp

Java 部署最麻烦的从来不是装 JDK,而是权限、路径、环境变量三者咬合不上——漏掉任意一环,服务都可能凌晨三点静默退出,还查不到原因。

“在云服务器ECS上搭建Java运行环境_CentOS系统的Java部署” 的相关文章

5元云服务器:入门级新手首选

5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得…

2021年云服务器优惠套餐推荐

2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为…

1元买走一台云服务器,这种天上掉馅饼的事存在吗?

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个…

云服务器10元月:经济型服务价格新记录

云服务器10元/月:经济型服务价格新记录 最近,云服务器的价格被推向了一个新低,10元一个月的方案让许多人惊喜不已。这不仅仅是数字上的变化,更是科技服务普惠化的一个标志。云服务器作为一种基于云计算的虚…

盘点最新优惠 云服务器网站推荐

盘点最新优惠 云服务器网站推荐 探盘最新优惠 云服务器网站推荐 云计算技术的迅猛发展,使得云服务器成为企业和个人开发者不可或缺的基础设施。云服务器,作为一种基于虚拟化技术的计算资源,允许用户按需获取计…

实惠低价云服务器f2g评测

实惠低价云服务器f2g评测 实惠低价云服务器F2G评测 随着云计算技术的快速发展,云服务器已经成为企业和个人开发者的重要选择。相比传统的物理服务器,云服务器在灵活性、可扩展性和成本上具有显著优势。然而…