searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

在CentOS上安装Java环境详解-天翼云

2026-07-08 14:58:45
1
0

一、为什么选择CentOS + Java?

在企业级开发中,CentOS凭借其稳定性、安全性和与Red Hat Enterprise Linux(RHEL)的高度兼容性,长期占据服务器操作系统的半壁江山。而Java作为后端开发的"第一语言",在CentOS上的部署更是家常便饭。

无论你是要部署Spring Boot微服务、搭建Tomcat Web容器,还是运行Hadoop、Elasticsearch等大数据组件,第一步永远是——把Java环境装好。

但问题来了:CentOS默认可能自带OpenJDK,版本可能不是你想要的;yum源里的版本可能太老;手动下载安装又涉及环境变量配置……这些问题如果不搞清楚,轻则编译报错,重则线上事故。

别急,咱们一步步来。


二、安装前的"体检":检查系统自带Java

在动手之前,必须先搞清楚系统里到底有没有Java,有什么版本的Java。 这一步很多人跳过,结果后面装了两个JDK互相打架,排查起来焦头烂额。

2.1 查看已安装的Java包

执行以下命令:

bash
rpm -qa | grep java
rpm -qa | grep jdk
rpm -qa | grep gcj

这三条命令会把系统中所有与Java相关的RPM包全部列出来。如果你看到类似 java-1.8.0-openjdk-1.8.0.xxx 这样的输出,说明系统自带了OpenJDK。

2.2 查看当前Java版本

bash
java -version

如果有输出,说明当前系统已经有可执行的Java环境。但注意:自带的OpenJDK不一定满足你的项目需求。 很多企业项目明确要求Oracle JDK,或者需要特定版本(如JDK 8、JDK 11、JDK 17),这时候就必须卸载自带版本,重新安装。

2.3 卸载系统自带的Java(如有需要)

如果你决定用自己下载的JDK,那么系统自带的OpenJDK必须清理干净,否则会出现版本冲突。

方法一:逐包卸载(推荐,更可控)

bash
rpm -qa | grep java | xargs rpm -e --nodeps

这条命令的含义是:查询所有含"java"关键词的RPM包,然后逐个强制卸载(--nodeps表示忽略依赖关系强制删除)。

方法二:批量卸载

bash
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.xxx-x.x.bxx.el7.x86_64

直接指定包名卸载,适合你已经知道具体包名的情况。

方法三:使用yum卸载(CentOS 7适用)

bash
yum -y remove java-1.8.0-openjdk*
yum -y remove tzdata-java.noarch

注意那个星号 *,它表示把所有以 java-1.8.0-openjdk 开头的包全部卸载,连带 tzdata-java 这个时区数据包也一并清理。

工程师经验谈: 卸载完之后,再执行一次 rpm -qa | grep java 确认输出为空,才算清理干净。别嫌麻烦,这一步省了,后面全是坑。


三、三种安装方式全解析

在CentOS上安装Java,主流方式有三种。我逐一拆解,告诉你每种方式的适用场景和操作细节。


方式一:yum在线安装(最简单,推荐新手)

这是最省事的方式,不需要手动下载任何文件,系统自动从yum源拉取安装包。

适用场景: 对Java版本没有特殊要求,只要能跑就行,比如测试环境、学习环境。

操作步骤

bash
# 1. 查看yum源中有哪些Java版本可选
yum list java*
yum list java-1.8*

# 2. 安装JDK 1.8(以OpenJDK为例)
yum -y install java-1.8.0-openjdk*

# 3. 验证安装
java -version

优点

  • 一行命令搞定,无需配置环境变量(yum会自动设置好PATH)
  • 自动处理依赖关系,不会出现缺少组件的问题
  • 默认安装路径在 /usr/lib/jvm/java-1.8.0-openjdk-xxx

缺点

  • 版本固定,只能装yum源里有的版本(通常是OpenJDK)
  • 无法安装Oracle官方JDK
  • 自带的OpenJDK在某些场景下与Oracle JDK存在细微差异

实战建议: 如果你的项目不强制要求Oracle JDK,yum安装是最高效的选择。生产环境中大量服务器就是这么装的,稳定可靠。


方式二:RPM包安装(中规中矩)

如果你需要安装Oracle官方提供的RPM格式JDK(而非tar.gz压缩包),可以用这种方式。

适用场景: 需要Oracle JDK,但不想手动解压配置环境变量。

操作步骤

bash
# 1. 将JDK的RPM包上传到服务器(可通过Xftp等工具)

# 2. 执行安装
rpm -ivh jdk-8u152-linux-x64.rpm

# 3. 验证
java -version

默认安装路径: /usr/java/jdk1.8.0_152

优点

  • RPM包会自动注册到系统包管理器,方便后续升级和卸载
  • 不需要手动配置环境变量(部分版本会自动设置)

缺点

  • 需要提前下载RPM包,不如yum方便
  • 版本选择受限于Oracle提供的RPM包

方式三:手动解压tar.gz安装(最灵活,推荐生产环境)

这是我在生产环境中最常用的方式。完全自主可控,想装什么版本就装什么版本,想放哪个目录就放哪个目录。

适用场景: 生产环境、需要特定JDK版本(如JDK 11、JDK 17)、需要Oracle JDK而非OpenJDK。

操作步骤

Step 1:创建安装目录

bash
mkdir -p /usr/java
# 或者
mkdir -p /usr/local/java

我个人习惯用 /usr/local/java,因为 /usr/local 本身就是存放用户自行编译安装软件的标准目录。

Step 2:上传JDK压缩包

通过Xftp、SCP或直接用wget下载。以JDK 8为例:

bash
cd /usr/local/java
wget https://download.oracle.com/java/8/latest/jdk-8u262-linux-x64.tar.gz
# 注意:如果网络不通,可以先在本地下载,再通过Xftp上传

以JDK 11为例:

bash
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz

以JDK 17为例:

bash
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

Step 3:解压压缩包

bash
tar -zxvf jdk-8u262-linux-x64.tar.gz
# 或者
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz -C /usr/local/java

解压完成后,你会看到类似 jdk1.8.0_262jdk-11jdk-17.0.x 这样的目录。

Step 4:清理压缩包(可选)

bash
rm -f jdk-8u262-linux-x64.tar.gz

节省磁盘空间,生产环境建议保留原始包以便回滚。


四、环境变量配置:核心中的核心

手动安装方式必须配置环境变量,否则系统找不到java命令。 这一步是整个安装流程中最关键的环节,配置错了,后面所有Java程序都跑不起来。

4.1 编辑配置文件

bash
vim /etc/profile

在文件末尾添加以下内容(以JDK 8为例):

bash
# JDK环境变量配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_262
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

如果是JDK 11或更高版本(JDK 11+不再单独提供jre目录),配置略有不同:

bash
export JAVA_HOME=/usr/local/java/jdk-11
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

如果是JDK 17:

bash
export JAVA_HOME=/usr/local/java/jdk-17.0.x
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4.2 各个变量的含义(必须理解)

变量名 含义 为什么需要
JAVA_HOME JDK的安装根目录 Tomcat、Maven、Gradle等工具都依赖这个变量来定位JDK
JRE_HOME JRE的安装目录 部分老旧应用需要明确指定JRE路径
CLASSPATH Java类加载路径 告诉JVM去哪里找.class文件和jar包,.表示当前目录
PATH 系统可执行命令搜索路径 $JAVA_HOME/bin加入PATH后,任何目录下都能直接输入java命令

工程师经验谈: 很多人配置环境变量时把 PATH=$PATH:$JAVA_HOME/bin 写反了,写成 PATH=$JAVA_HOME/bin:$PATH。虽然两种写法都能用,但推荐把 $JAVA_HOME/bin 放在前面,这样系统会优先使用你安装的JDK,而不是可能存在的其他版本。

4.3 使配置生效

bash
source /etc/profile

这条命令让配置文件立即生效,无需重启服务器。

4.4 验证安装

bash
java -version
javac -version
java

如果看到类似以下输出,说明安装成功:

 
java version "1.8.0_262"
Java(TM) SE Runtime Environment (build 1.8.0_262-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.262-b10, mixed mode)
javac 1.8.0_262

三条命令都能正常输出,说明JDK和JRE都已正确安装。


五、常见问题与排错指南

在实际部署中,你一定会遇到各种问题。以下是我总结的高频故障及解决方案。

问题1:配置完环境变量后,java -version 仍然显示旧版本

原因: /etc/profile 没有生效,或者系统中存在多个Java版本,PATH优先级问题。

解决

bash
source /etc/profile          # 重新加载配置
which java                   # 查看java命令实际指向哪个路径
rm -rf /usr/bin/java         # 删除可能存在的软链接(谨慎操作)
ln -s $JAVA_HOME/bin/java /usr/bin/java

问题2:javac 命令找不到

原因: 只配置了JRE的路径,没有配置JDK的bin目录到PATH中。

解决: 确认 PATH=${JAVA_HOME}/bin:$PATH 这一行存在,并且 $JAVA_HOME/bin 下确实有 javac 文件。

bash
ls $JAVA_HOME/bin/javac

问题3:Tomcat启动时报错 JRE_HOME is not set correctly

原因: Tomcat需要明确的JRE路径,而你只配置了JAVA_HOME。

解决: 在 /etc/profile 中显式添加 JRE_HOME 变量,或者在Tomcat的 setenv.sh 中手动指定:

bash
export JRE_HOME=/usr/local/java/jdk1.8.0_262/jre

问题4:卸载不干净,新装的JDK无法使用

原因: 旧的Java包没有完全清理,RPM数据库中仍有残留。

解决

bash
rpm -qa | grep -i java     # 再次检查
rpm -e --nodeps <包名>     # 强制删除残留包
rm -rf /usr/lib/jvm/java*  # 清理目录残留

问题5:防火墙导致外部无法访问8080端口

原因: CentOS默认防火墙阻止了非标准端口的入站连接。

解决

bash
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload

或者使用iptables:

bash
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
 

六、进阶:搭建完整的Java Web环境

光有JDK还不够,生产环境中你通常还需要Tomcat。下面快速过一遍在天翼云CentOS主机上部署Java Web环境的完整流程。

6.1 安装Tomcat

方式一:yum安装(最快)

bash
yum -y install tomcat tomcat-webapps tomcat-admin-webapps

默认安装路径:/usr/share/tomcat/

方式二:手动安装(更灵活)

bash
cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.78/bin/apache-tomcat-8.5.78.tar.gz
tar -zxvf apache-tomcat-8.5.78.tar.gz

6.2 配置Tomcat环境变量

在 /etc/profile 末尾追加:

bash
export CATALINA_BASE=/usr/share/tomcat
export CATALINA_HOME=/usr/share/tomcat
export PATH=$PATH:$CATALINA_HOME/bin

执行 source /etc/profile 生效。

6.3 配置Tomcat用户权限

编辑 /usr/share/tomcat/conf/tomcat-users.xml

xml
<tomcat-users>
  <user username="admin" password="你的密码" roles="manager-gui,admin-gui"/>
</tomcat-users>

6.4 启动与验证

bash
systemctl start tomcat
systemctl enable tomcat    # 设置开机自启
systemctl status tomcat    # 查看状态

修改端口(如需):编辑 /usr/share/tomcat/conf/server.xml,将8080改为其他端口(如9090),然后重启。

bash
curl http://localhost:9090

本地测试通过后,在安全组中开放对应端口,外部即可通过 http://公网IP:9090 访问。


七、版本选择建议:JDK 8 / 11 / 17 怎么选?

版本 状态 适用场景
JDK 8 长期支持(LTS),依然广泛使用 老项目维护、Spring Boot 2.x、大量存量系统
JDK 11 LTS,2018年发布 新项目首选、Spring Boot 2.5+、模块化支持
JDK 17 LTS,2021年发布 最新长期支持版本、Spring Boot 3.x、强封装
JDK 21 LTS,2023年发布 追求最新特性、虚拟线程等新功能

我的建议: 新项目直接上JDK 17,老项目维持JDK 8,过渡期用JDK 11。别追最新的非LTS版本,生产环境求稳。


八、总结

在CentOS上安装Java环境,说难不难,说简单也绝不是"下一步、下一步"就能搞定的事。核心就三件事:

  1. 清理干净 —— 卸载系统自带的OpenJDK,避免版本冲突
  2. 选对方式 —— 测试环境用yum,生产环境用手动tar.gz安装
  3. 配好变量 —— JAVA_HOME、PATH、CLASSPATH一个都不能少,source /etc/profile 别忘了执行

这套流程我在天翼云的多台CentOS主机上反复验证过,从JDK 8到JDK 17,从单节点到集群部署,稳定可靠。希望这篇文章能帮你在Linux服务器上快速建立起坚实的Java开发地基。

0条评论
作者已关闭评论
窝补药上班啊
1449文章数
7粉丝数
窝补药上班啊
1449 文章 | 7 粉丝
原创

在CentOS上安装Java环境详解-天翼云

2026-07-08 14:58:45
1
0

一、为什么选择CentOS + Java?

在企业级开发中,CentOS凭借其稳定性、安全性和与Red Hat Enterprise Linux(RHEL)的高度兼容性,长期占据服务器操作系统的半壁江山。而Java作为后端开发的"第一语言",在CentOS上的部署更是家常便饭。

无论你是要部署Spring Boot微服务、搭建Tomcat Web容器,还是运行Hadoop、Elasticsearch等大数据组件,第一步永远是——把Java环境装好。

但问题来了:CentOS默认可能自带OpenJDK,版本可能不是你想要的;yum源里的版本可能太老;手动下载安装又涉及环境变量配置……这些问题如果不搞清楚,轻则编译报错,重则线上事故。

别急,咱们一步步来。


二、安装前的"体检":检查系统自带Java

在动手之前,必须先搞清楚系统里到底有没有Java,有什么版本的Java。 这一步很多人跳过,结果后面装了两个JDK互相打架,排查起来焦头烂额。

2.1 查看已安装的Java包

执行以下命令:

bash
rpm -qa | grep java
rpm -qa | grep jdk
rpm -qa | grep gcj

这三条命令会把系统中所有与Java相关的RPM包全部列出来。如果你看到类似 java-1.8.0-openjdk-1.8.0.xxx 这样的输出,说明系统自带了OpenJDK。

2.2 查看当前Java版本

bash
java -version

如果有输出,说明当前系统已经有可执行的Java环境。但注意:自带的OpenJDK不一定满足你的项目需求。 很多企业项目明确要求Oracle JDK,或者需要特定版本(如JDK 8、JDK 11、JDK 17),这时候就必须卸载自带版本,重新安装。

2.3 卸载系统自带的Java(如有需要)

如果你决定用自己下载的JDK,那么系统自带的OpenJDK必须清理干净,否则会出现版本冲突。

方法一:逐包卸载(推荐,更可控)

bash
rpm -qa | grep java | xargs rpm -e --nodeps

这条命令的含义是:查询所有含"java"关键词的RPM包,然后逐个强制卸载(--nodeps表示忽略依赖关系强制删除)。

方法二:批量卸载

bash
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.xxx-x.x.bxx.el7.x86_64

直接指定包名卸载,适合你已经知道具体包名的情况。

方法三:使用yum卸载(CentOS 7适用)

bash
yum -y remove java-1.8.0-openjdk*
yum -y remove tzdata-java.noarch

注意那个星号 *,它表示把所有以 java-1.8.0-openjdk 开头的包全部卸载,连带 tzdata-java 这个时区数据包也一并清理。

工程师经验谈: 卸载完之后,再执行一次 rpm -qa | grep java 确认输出为空,才算清理干净。别嫌麻烦,这一步省了,后面全是坑。


三、三种安装方式全解析

在CentOS上安装Java,主流方式有三种。我逐一拆解,告诉你每种方式的适用场景和操作细节。


方式一:yum在线安装(最简单,推荐新手)

这是最省事的方式,不需要手动下载任何文件,系统自动从yum源拉取安装包。

适用场景: 对Java版本没有特殊要求,只要能跑就行,比如测试环境、学习环境。

操作步骤

bash
# 1. 查看yum源中有哪些Java版本可选
yum list java*
yum list java-1.8*

# 2. 安装JDK 1.8(以OpenJDK为例)
yum -y install java-1.8.0-openjdk*

# 3. 验证安装
java -version

优点

  • 一行命令搞定,无需配置环境变量(yum会自动设置好PATH)
  • 自动处理依赖关系,不会出现缺少组件的问题
  • 默认安装路径在 /usr/lib/jvm/java-1.8.0-openjdk-xxx

缺点

  • 版本固定,只能装yum源里有的版本(通常是OpenJDK)
  • 无法安装Oracle官方JDK
  • 自带的OpenJDK在某些场景下与Oracle JDK存在细微差异

实战建议: 如果你的项目不强制要求Oracle JDK,yum安装是最高效的选择。生产环境中大量服务器就是这么装的,稳定可靠。


方式二:RPM包安装(中规中矩)

如果你需要安装Oracle官方提供的RPM格式JDK(而非tar.gz压缩包),可以用这种方式。

适用场景: 需要Oracle JDK,但不想手动解压配置环境变量。

操作步骤

bash
# 1. 将JDK的RPM包上传到服务器(可通过Xftp等工具)

# 2. 执行安装
rpm -ivh jdk-8u152-linux-x64.rpm

# 3. 验证
java -version

默认安装路径: /usr/java/jdk1.8.0_152

优点

  • RPM包会自动注册到系统包管理器,方便后续升级和卸载
  • 不需要手动配置环境变量(部分版本会自动设置)

缺点

  • 需要提前下载RPM包,不如yum方便
  • 版本选择受限于Oracle提供的RPM包

方式三:手动解压tar.gz安装(最灵活,推荐生产环境)

这是我在生产环境中最常用的方式。完全自主可控,想装什么版本就装什么版本,想放哪个目录就放哪个目录。

适用场景: 生产环境、需要特定JDK版本(如JDK 11、JDK 17)、需要Oracle JDK而非OpenJDK。

操作步骤

Step 1:创建安装目录

bash
mkdir -p /usr/java
# 或者
mkdir -p /usr/local/java

我个人习惯用 /usr/local/java,因为 /usr/local 本身就是存放用户自行编译安装软件的标准目录。

Step 2:上传JDK压缩包

通过Xftp、SCP或直接用wget下载。以JDK 8为例:

bash
cd /usr/local/java
wget https://download.oracle.com/java/8/latest/jdk-8u262-linux-x64.tar.gz
# 注意:如果网络不通,可以先在本地下载,再通过Xftp上传

以JDK 11为例:

bash
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz

以JDK 17为例:

bash
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

Step 3:解压压缩包

bash
tar -zxvf jdk-8u262-linux-x64.tar.gz
# 或者
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz -C /usr/local/java

解压完成后,你会看到类似 jdk1.8.0_262jdk-11jdk-17.0.x 这样的目录。

Step 4:清理压缩包(可选)

bash
rm -f jdk-8u262-linux-x64.tar.gz

节省磁盘空间,生产环境建议保留原始包以便回滚。


四、环境变量配置:核心中的核心

手动安装方式必须配置环境变量,否则系统找不到java命令。 这一步是整个安装流程中最关键的环节,配置错了,后面所有Java程序都跑不起来。

4.1 编辑配置文件

bash
vim /etc/profile

在文件末尾添加以下内容(以JDK 8为例):

bash
# JDK环境变量配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_262
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

如果是JDK 11或更高版本(JDK 11+不再单独提供jre目录),配置略有不同:

bash
export JAVA_HOME=/usr/local/java/jdk-11
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

如果是JDK 17:

bash
export JAVA_HOME=/usr/local/java/jdk-17.0.x
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4.2 各个变量的含义(必须理解)

变量名 含义 为什么需要
JAVA_HOME JDK的安装根目录 Tomcat、Maven、Gradle等工具都依赖这个变量来定位JDK
JRE_HOME JRE的安装目录 部分老旧应用需要明确指定JRE路径
CLASSPATH Java类加载路径 告诉JVM去哪里找.class文件和jar包,.表示当前目录
PATH 系统可执行命令搜索路径 $JAVA_HOME/bin加入PATH后,任何目录下都能直接输入java命令

工程师经验谈: 很多人配置环境变量时把 PATH=$PATH:$JAVA_HOME/bin 写反了,写成 PATH=$JAVA_HOME/bin:$PATH。虽然两种写法都能用,但推荐把 $JAVA_HOME/bin 放在前面,这样系统会优先使用你安装的JDK,而不是可能存在的其他版本。

4.3 使配置生效

bash
source /etc/profile

这条命令让配置文件立即生效,无需重启服务器。

4.4 验证安装

bash
java -version
javac -version
java

如果看到类似以下输出,说明安装成功:

 
java version "1.8.0_262"
Java(TM) SE Runtime Environment (build 1.8.0_262-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.262-b10, mixed mode)
javac 1.8.0_262

三条命令都能正常输出,说明JDK和JRE都已正确安装。


五、常见问题与排错指南

在实际部署中,你一定会遇到各种问题。以下是我总结的高频故障及解决方案。

问题1:配置完环境变量后,java -version 仍然显示旧版本

原因: /etc/profile 没有生效,或者系统中存在多个Java版本,PATH优先级问题。

解决

bash
source /etc/profile          # 重新加载配置
which java                   # 查看java命令实际指向哪个路径
rm -rf /usr/bin/java         # 删除可能存在的软链接(谨慎操作)
ln -s $JAVA_HOME/bin/java /usr/bin/java

问题2:javac 命令找不到

原因: 只配置了JRE的路径,没有配置JDK的bin目录到PATH中。

解决: 确认 PATH=${JAVA_HOME}/bin:$PATH 这一行存在,并且 $JAVA_HOME/bin 下确实有 javac 文件。

bash
ls $JAVA_HOME/bin/javac

问题3:Tomcat启动时报错 JRE_HOME is not set correctly

原因: Tomcat需要明确的JRE路径,而你只配置了JAVA_HOME。

解决: 在 /etc/profile 中显式添加 JRE_HOME 变量,或者在Tomcat的 setenv.sh 中手动指定:

bash
export JRE_HOME=/usr/local/java/jdk1.8.0_262/jre

问题4:卸载不干净,新装的JDK无法使用

原因: 旧的Java包没有完全清理,RPM数据库中仍有残留。

解决

bash
rpm -qa | grep -i java     # 再次检查
rpm -e --nodeps <包名>     # 强制删除残留包
rm -rf /usr/lib/jvm/java*  # 清理目录残留

问题5:防火墙导致外部无法访问8080端口

原因: CentOS默认防火墙阻止了非标准端口的入站连接。

解决

bash
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload

或者使用iptables:

bash
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
 

六、进阶:搭建完整的Java Web环境

光有JDK还不够,生产环境中你通常还需要Tomcat。下面快速过一遍在天翼云CentOS主机上部署Java Web环境的完整流程。

6.1 安装Tomcat

方式一:yum安装(最快)

bash
yum -y install tomcat tomcat-webapps tomcat-admin-webapps

默认安装路径:/usr/share/tomcat/

方式二:手动安装(更灵活)

bash
cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.78/bin/apache-tomcat-8.5.78.tar.gz
tar -zxvf apache-tomcat-8.5.78.tar.gz

6.2 配置Tomcat环境变量

在 /etc/profile 末尾追加:

bash
export CATALINA_BASE=/usr/share/tomcat
export CATALINA_HOME=/usr/share/tomcat
export PATH=$PATH:$CATALINA_HOME/bin

执行 source /etc/profile 生效。

6.3 配置Tomcat用户权限

编辑 /usr/share/tomcat/conf/tomcat-users.xml

xml
<tomcat-users>
  <user username="admin" password="你的密码" roles="manager-gui,admin-gui"/>
</tomcat-users>

6.4 启动与验证

bash
systemctl start tomcat
systemctl enable tomcat    # 设置开机自启
systemctl status tomcat    # 查看状态

修改端口(如需):编辑 /usr/share/tomcat/conf/server.xml,将8080改为其他端口(如9090),然后重启。

bash
curl http://localhost:9090

本地测试通过后,在安全组中开放对应端口,外部即可通过 http://公网IP:9090 访问。


七、版本选择建议:JDK 8 / 11 / 17 怎么选?

版本 状态 适用场景
JDK 8 长期支持(LTS),依然广泛使用 老项目维护、Spring Boot 2.x、大量存量系统
JDK 11 LTS,2018年发布 新项目首选、Spring Boot 2.5+、模块化支持
JDK 17 LTS,2021年发布 最新长期支持版本、Spring Boot 3.x、强封装
JDK 21 LTS,2023年发布 追求最新特性、虚拟线程等新功能

我的建议: 新项目直接上JDK 17,老项目维持JDK 8,过渡期用JDK 11。别追最新的非LTS版本,生产环境求稳。


八、总结

在CentOS上安装Java环境,说难不难,说简单也绝不是"下一步、下一步"就能搞定的事。核心就三件事:

  1. 清理干净 —— 卸载系统自带的OpenJDK,避免版本冲突
  2. 选对方式 —— 测试环境用yum,生产环境用手动tar.gz安装
  3. 配好变量 —— JAVA_HOME、PATH、CLASSPATH一个都不能少,source /etc/profile 别忘了执行

这套流程我在天翼云的多台CentOS主机上反复验证过,从JDK 8到JDK 17,从单节点到集群部署,稳定可靠。希望这篇文章能帮你在Linux服务器上快速建立起坚实的Java开发地基。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0