基于tomcat构建java web环境(centos 7.4)-九游平台
应用场景
tomcat是一个被广泛使用的java web应用服务器。本文介绍了在华为云弹性云服务器上部署java web环境的操作步骤。首先需要下载部署java web环境所需的安装包,并将安装包上传至云服务器,然后设置弹性云服务器安全组规则,再安装并配置相关软件,完成开发环境的配置。
本文使用的云服务器以华为云centos 7.4 64bit操作系统云服务器为例。
方案架构

资源和成本规划
资源 |
资源说明 |
成本说明 |
---|---|---|
虚拟私有云vpc |
vpc网段:192.168.0.0/16 |
免费 |
虚拟私有云子网 |
|
免费 |
安全组 |
入方向规则1:
入方向规则2:
|
免费 |
弹性云服务器 |
|
ecs涉及以下几项费用:
具体的计费方式及标准请参考计费模式概述。 |
jdk |
java开发工具软件。 获取方式: |
免费 |
tomcat |
是一款开源的web应用服务器。 获取方式: |
免费 |
putty |
跨平台远程访问工具。用于在软件安装过程中在windows系统上访问云服务器。 获取方式: |
免费 |
winscp |
跨平台文件传输工具。用于在windows系统和linux系统间传输文件。 获取方式: |
免费 |

表1中为jdk和tomcat官方获取地址,您还可以参考其他开源镜像地址获取安装包。
基于tomcat构建java web环境操作流程(手动)

实施步骤(手动)
安装前准备
- 创建弹性云服务器,且弹性云服务器已绑定弹性公网ip。
- 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见。
- 登录弹性云服务器,执行如下命令,新建jdk目录和tomcat目录。
cd /home/
mkdir webdemo
cd webdemo/
mkdir jdk
mkdir tomcat
- 您可以选择将安装包下载至本地后使用文件传输工具将安装包上传至云服务器。或者选择使用wget命令直接下载安装包至云服务器。
- 方法一:使用文件传输工具上传安装包至云服务器。
- 使用winscp工具上传jdk软件包至云服务器jdk文件夹。
- 使用winscp工具上传tomcat软件包至云服务器tomcat文件夹。
- 方法二:使用wget命令直接下载安装包至云服务器。
- 执行如下命令,进入jdk目录。
cd /home/webdemo/jdk
- 执行如下命令,下载jdk软件包。
wget jdk软件包下载地址
请参考表1查询jdk下载地址,或者使用其他开源镜像地址获取安装包。
例如:以为例,在列表中查看可用的jdk软件包版本,以jdk-17_linux-x64_bin.tar.gz安装包为例,执行以下命令。
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
- 执行如下命令,进入tomcat目录。
cd /home/webdemo/tomcat
- 执行如下命令,下载tomcat软件包。
请参考表1查询tomcat下载地址,或者使用其他开源镜像地址获取安装包。
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-x/vx.x.xx/bin/apache-tomcat-x.x.xx.tar.gz
例如:单击,查询当前可用版本,以v8.5.xx版本安装包为例,执行以下命令。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.xx/bin/apache-tomcat-8.5.xx.tar.gz --no-check-certificate
- 执行如下命令,进入jdk目录。
- 方法一:使用文件传输工具上传安装包至云服务器。
设置弹性云服务器安全组规则
- 单击弹性云服务器名称,查看弹性云服务器详情,在弹性云服务器详情页面,选择“安全组”。
- 在“安全组”界面,单击“配置规则”,进入安全组详情界面。
- 在安全组详情界面,单击“添加规则”,弹出添加规则窗口。
- 根据界面提示配置安全组规则。
部署java web环境需为弹性云服务器添加两个安全组规则。
- 为云服务器添加icmp安全组规则。
如果云服务器默认设置是禁止icmp规则,当ping弹性服务器ip时会显示超时。因此首先为云服务器添加icmp规则。
图3 添加icmp规则 - 为云服务器添加web项目分配端口的访问规则,以8080端口为例。
图4 添加8080端口
- 为云服务器添加icmp安全组规则。
安装jdk
- 执行如下命令,进入jdk目录。
cd /home/webdemo/jdk
- 解压jdk安装包到jdk目录下。
tar -xvf jdk-17_linux-x64_bin.tar.gz -c /home/webdemo/jdk/
- 配置环境变量。
vim /etc/profile
- 在底部添加以下内容。
#set java environment java_home=/home/webdemo/jdk/jdk-17.0.x jre_home=$java_home path=$java_home/bin:$path classpath=.:$java_home/lib/dt.jar:$jre_home/lib/tools.jar export java_home jre_home path classpath
“jdk-17.0.x”表示jdk安装包的具体版本,实际值需要从步骤2的返回值中获取。
例如:jdk-17.0.9
- 执行以下命令保存并退出。
:wq
- 执行以下命令使/etc/profile里的配置生效。
source /etc/profile
- 验证安装。
java -version
回显信息如下所示验证安装jdk成功。
[root@ecs-c525-web ~]# java -version java version "17.0.9" 2023-10-17 lts java(tm) se runtime environment (build 17.0.9 11-lts-201) java hotspot(tm) 64-bit server vm (build 17.0.9 11-lts-201, mixed mode, sharing)
安装tomcat
- 执行如下命令,进入tomcat目录。
cd /home/webdemo/tomcat
- 解压tomcat安装包到tomcat目录下。
tar -xvf apache-tomcat-x.x.xx.tar.gz -c /home/webdemo/tomcat/
例如:以v8.5.xx版本安装包为例,执行以下命令。
tar -xvf apache-tomcat-8.5.xx.tar.gz -c /home/webdemo/tomcat/
- 进入tomcat的bin目录,执行以下命令安装tomcat。
cd /home/webdemo/tomcat/apache-tomcat-x.x.xx/
cd bin/
例如:以v8.5.xx版本安装包为例,执行以下命令。
cd /home/webdemo/tomcat/apache-tomcat-8.5.xx/
cd bin/
- 执行如下命令编辑setclasspath.sh脚本。
vi setclasspath.sh
并在setclasspath.sh脚本底部添加以下内容。
请根据资源和成本规划中jdk的版本号替换如下内容中的jdk版本号。export java_home=/home/webdemo/jdk/jdk-17.0.9 export jre_home=$java_home
- 执行如下命令保存后退出。
:wq
- 可输入以下命令启动tomcat。
./startup.sh
- 执行如下命令查看tomcat进程。
ps -ef | grep tomcat
若返回如下图所示,表示tomcat启动成功。
图5 查看tomcat进程
验证java web环境搭建完成
在浏览器输入以下内容。
http://云服务器弹性公网ip:8080
如果界面跳转至默认的tomcat界面,证明java web环境搭建完成。就可以在公网访问云服务器的8080端口了。

实施步骤(自动)
请参见。
常见问题
启动tomcat报错nb: java_home should point to a jdk not a jre
问题现象:
启动tomcat报错nb: java_home should point to a jdk not a jre
原因分析:
环境变量java_home设置不正确,应指向jdk而不是jre。本示例中,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7 _9.x86_64/jre/bin/ 这个路径是jre的,java_home只需要设置到/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/ 即可。
处理方法:
- 执行以下命令,修改环境变量。
vim /etc/profile
修改结果如下:
- 执行以下命令保存并退出。
:wq
- 执行以下命令使/etc/profile里的配置生效。
source /etc/profile
- 重新启动tomcat。
./startup.sh
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨