Java Web是一种使用Java语言开发动态Web应用程序的技术栈,它利用Java平台的强大功能,结合各种技术和框架,使得开发者能够创建复杂、高性能、可跨平台部署的Web应用。在Java Web开发中,Tomcat是常用的开源Web服务器,用于部署和运行Java Web应用程序。本文介绍如何在ECS实例中部署Java Web环境。
准备工作
部署Java Web环境时,已有ECS实例必须满足以下条件:
实例已分配固定公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见弹性公网IP。
若您的实例为Linux系统,实例安全组的入方向规则需放行22、8080端口。
若您的实例为Windows系统,实例安全组的入方向规则需放行3389、8080端口。
具体操作,请参见添加安全组规则。
若您的实例为Linux系统,需要您关闭实例的系统防火墙、SELinux。具体操作,请参见开启或关闭Linux系统防火墙、开启或关闭SELinux。
若您的实例为Windows系统,需要您关闭实例的系统防火墙。具体操作,请参见开启或关闭Windows系统防火墙。
实例已部署Java环境。具体操作,请参见部署Java环境。
操作方案
您可以根据实例的系统,选择合适的方案。
Linux
本文以安装Apache Tomcat 9.0.91为例。若您安装其他版本,或使用其他目录,您需要根据实际版本及目录替换命令中的版本及路径。
登录Linux服务器。具体操作,请参见连接实例。
运行以下命令,下载并解压Tomcat 9安装包。
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz --no-check-certificate tar -zxvf apache-tomcat-9.0.91.tar.gz
运行以下命令,移动Tomcat所在目录。
sudo mv apache-tomcat-9.0.91 /usr/local/tomcat/
(可选)配置server.xml文件。
若您需要修改Tomcat的相关配置,可以参考如下操作。
运行以下命令,打开
/usr/local/tomcat/conf/server.xml
文件。vim /usr/local/tomcat/conf/server.xml
按
i
键,进入编辑模式。本示例使用Tomcat的默认配置。您也可以根据需求,修改Tomcat的相关配置。例如:Tomcat默认使用8080端口,如果您需要修改端口号,可以修改
port
的属性值。说明修改端口后,您需要在实例的安全组中放行修改后的端口,具体操作,请参见添加安全组规则。
Tomcat默认的网站根目录为
webapps
,当您将一个Web应用程序(例如一个WAR文件或一个包含WEB-INF目录的文件夹)放到webapps
目录下时,Tomcat会自动部署这个应用。如果您需要修改Tomcat的网站根目录,可以修改appBase
的属性值。
修改完成后,按Esc键,输入
:wq
并回车以保存并关闭文件。
(可选)设置JVM内存参数。
若您需要根据需求设置Tomcat的JVM内存参数,以优化Tomcat的性能、稳定性等,可以参考如下操作。
运行以下命令,创建并打开
/usr/local/tomcat/bin/setenv.sh
文件。vim /usr/local/tomcat/bin/setenv.sh
按
i
键,添加以下内容。指定
JAVA_OPTS
参数,用于设置JVM的内存信息以及编码格式。本示例将编码格式设置为UTF-8。说明您可以根据需求调整以下内容,以更好地设置JVM内存参数。
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms512m -Xmx512m -Dfile.encoding=UTF-8'
按
Esc
键,输入:wq
,按Enter
键保存并关闭文件。为文件添加可执行权限。
sudo chmod +x /usr/local/tomcat/bin/setenv.sh
设置Tomcat自启动脚本。
运行以下命令,下载Tomcat自启动脚本文件。
重要该脚本来源于社区,仅供参考。阿里云对其可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。如果您运行wget命令下载失败,您可以通过浏览器访问
https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
直接获取脚本内容。wget https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
运行以下命令,移动并重命名
Tomcat-init
。sudo mv Tomcat-init /etc/init.d/tomcat
运行以下命令,为
/etc/init.d/tomcat
添加可执行权限。chmod +x /etc/init.d/tomcat
获取安装的JDK路径。运行以下命令,获取Java二进制文件的真实路径,其父目录则为安装的JDK路径。
readlink -f $(which java)
说明例如执行命令后返回
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.0.2.1.al8.x86_64/jre/bin/java
,则安装的JDK路径为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.0.2.1.al8.x86_64
。运行以下命令,设置启动脚本
JAVA_HOME
。重要脚本中JDK的路径信息必须与您安装的JDK路径保持一致,否则Tomcat会启动失败。
sudo sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.0.2.1.al8.x86_64@' /etc/init.d/tomcat
依次运行以下命令,设置Tomcat开机自动启动,并启动Tomcat。
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat
启动后,您可以执行
sudo systemctl status tomcat
查看Tomcat当前状态,返回active(running)
则说明Tomcat启动成功。验证环境配置。
在本地浏览器地址栏中,输入
http://公网IP:8080
,成功进入Tomcat欢迎页,则说明环境配置成功。说明若输入
http://公网IP:8080
后无法显示下述页面,请检查安全组,确保入方向已放行8080端口。若您修改过Tomcat的端口,请将8080替换为修改后的端口,并检查安全组是否放行该端口。
若您想上传本地项目进行测试,可以将WAR包上传至Tomcat的网站根目录(本文中默认为
/usr/local/tomcat/webapps
),并在浏览器输入http://公网IP:8080/包名
访问项目。具体操作,请参见上传或下载文件(Linux)。
Windows
本文以安装Apache Tomcat 9.0.97为例。
登录Windows服务器。具体操作,请参见连接实例。
下载Tomcat。
访问Tomcat官网,选择相应的版本,下载安装包。
解压Tomcat压缩包。
将下载的压缩包解压到您希望安装Tomcat的位置。本文以
C:\Program Files
为例。获取Tomcat安装目录。
解压后,您可以进入解压后的目录,在地址栏获取到Tomcat的安装目录。
配置环境变量。
右键单击此电脑,选择属性。
在关于页滚动至最下方,单击高级系统设置。
单击环境变量。
在系统变量区域,单击新建,创建系统变量,完成后单击确定。变量名为
CATALINA_HOME
,变量值为Tomcat安装目录,例如C:\Program Files\apache-tomcat-9.0.97
。在系统变量中找到
Path
变量,选中并单击编辑。在编辑环境变量中单击新建,添加
%CATALINA_HOME%\bin
。单击两次确定,保存环境变量配置。
启动Tomcat。
进入Tomcat安装目录下的bin文件夹。
在路径栏输入
cmd
,按下回车,打开命令提示符。执行命令
startup.bat
启动Tomcat,命令执行后,默认会打开一个新的命令提示符窗口,以显示Tomcat的启动日志信息,请勿关闭此窗口。
验证Tomcat。
在本地浏览器输入
http://公网IP:8080
,进入Tomcat欢迎页,则说明Tomcat部署成功。说明若输入
http://公网IP:8080
后无法显示下述页面,请您排查以下问题:请检查安全组,确保入方向已放行8080端口。
请确认执行
startup.bat
命令启动Tomcat后,默认打开的命令提示符窗口是否被关闭,若窗口已关闭,请您重新执行startup.bat
命令开启此窗口。
若您想上传本地项目进行测试,可以将WAR包上传至Tomcat的网站根目录(本文中默认为
C:\Program Files\apache-tomcat-9.0.97\webapps
),并在浏览器输入http://公网IP:8080/包名
访问项目。具体操作,请参见上传或下载文件(Linux)。
后续操作
部署Java Web环境后,您可以考虑在服务器上配置网站,为ECS实例的公网IP地址绑定域名等。具体操作,请参见搭建网站。
您可以选择合适的开发工具进行Web开发,如果您的应用需要使用数据库存储应用数据,可以在Web项目的相关配置文件(例如Properties文件)中添加数据库配置,连接至数据库。开发完成后,您可以将Java Web应用程序部署到Tomcat中(例如部署到Tomcat安装目录下的webapps目录),部署和运行后,通过Web访问您的应用。具体操作,请参见Tomcat 9 应用程序部署指南。
说明如果您使用的是其他版本的Tomcat,只需将URL中的版本号替换为相应版本即可。
若您需要上传本地文件到ECS,具体操作,请参见上传或下载文件(Linux)。
若您需要使用数据库存储和管理Web应用中的数据,可以使用云数据库RDS MySQL,或在实例中部署MySQL数据库,具体操作,请参见部署数据库。
您可以考虑使用负载均衡SLB提高网站的可用性和性能。详细信息,请参见快速入门。
您可以直接使用ECS的构建与部署功能,关联代码仓库并进行构建部署,详情请参见部署应用。
您也可以考虑通过云效建立CI/CD流程来持续集成,提高效率。详细信息,请参见什么是云效。