# 基于Tomcat构建Java web环境（Huawei Cloud EulerOS 2.0）
#### 简介
Tomcat是一个免费的，开放源代码的Web应用服务器，是Apache软件基金会项目中的一个核心项目，是一款比较流行的web应用服务器。本教程介绍如何在HCE 2.0上安装部署Tomcat。
#### 准备工作
- 准备一台ECS，并分配公网IP或者弹性公网IP（EIP）。
 
- 安全组入方向已放开8080端口。
#### 前置条件
已完成yum源的配置，可参考[HCE的REPO源配置与软件安装](https://support.huaweicloud.com/usermanual-hce/hce_repo.html)进行公网yum源的配置。
#### 操作步骤
1. 软件安装。 
   1. 执行以下命令安装Java：
      ```
      dnf install java-1.8.0-openjdk
      ```
      
   
   2. 执行如下命令验证是否安装成功：
      ```
      java -version
      ```
      
   
   3. 执行如下命令安装Tomcat：
      ```
      dnf install tomcat
      ```
      Tomcat会被安装到"/usr/share/tomcat"目录。
      
   
   
   
   
2. 配置软件。 
   1. 在"/usr/lib/jvm/"目录下查找java路径，如在该目录下存在文件"java-1.8.0-openjdk-1.8.0.432.b06-0.hce2.x86_64"，则可以得到java的jre路径为"/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-0.hce2.x86_64/jre"。
   
   2. 编辑"/etc/profile"配置环境变量，新增如下内容，其中"JAVA_HOME"参数需要根据步骤[2.a]找到的jre路径进行填充：
      ```
      JAVA_HOME={jre路径}
      PATH=$PATH:$JAVA_HOME/bin
      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export JAVA_HOME CLASSPATH PATH
      ```
      
   
   3. 执行以下命令激活上述环境变量：
      ```
      source /etc/profile
      ```
      
   
   4. 清空"/usr/share/tomcat/conf/server.xml"文件，粘贴以下内容：
      ```
      <?xml version="1.0" encoding="UTF-8"?> <Server port="8006" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> <Listener className="org.apache.catalina.core.AprLifecycleListener"/> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container"  type="org.apache.catalina.UserDatabase"  description="User database that can be updated and saved"  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"  pathname="conf/tomcat-users.xml"/> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080"  protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443"  maxThreads="1000"  minSpareThreads="20"  acceptCount="1000"  maxHttpHeaderSize="65536"  debug="0"  disableUploadTimeout="true"  useBodyEncodingForURI="true"  enableLookups="false"  URIEncoding="UTF-8"/> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm"   resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t %s %b" /> </Host> </Engine> </Service> </Server>
      ```
      保存并退出，可根据需要，自定义上述配置。
      
   
   5. 执行以下命令创建上述配置中appbase和docbase填入的目录：
      ```
      mkdir -p /data/wwwroot/default
      ```
      
   
   6. 然后执行以下命令将上述目录所属用户设置为tomcat：
      ```
      chown -R tomcat.tomcat /data/wwwroot/
      ```
      
   
   7. 新建"/usr/share/tomcat/bin/setenv.sh"文件， 输入以下内容配置JVM内存参数：
      ```
      JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
      ```
      
   
   8. 执行以下命令启动Tomcat服务：
      ```
      systemctl start tomcat
      ```
      
   
   9. 执行如下命令查看Tomcat服务状态：
      ```
      systemctl status tomcat
      ```
      如果显示**active (running)**则表示服务启动成功。
      
   
   
   
   
3. 验证Tomcat安装是否成功。 
   1. 执行以下命令，新增测试页面：
      ```
      echo Tomcat test > /data/wwwroot/default/index.jsp
      ```
      
   
   2. 然后在浏览器输入http://\<Tomcat服务公网IP\>:8080进行访问，如果显示如[图1]则表示安装成功：
      图1安装成功   
      ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000001764849133.png "点击放大") 
   
   
   
   
 
![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/caution_3.0-zh-cn.png)
以上相关配置仅用于测试，业务环境请谨慎使用。
