-
【功能模块】华为云连接【操作步骤&问题现象】1、在本地使用tomcat搭建了服务器,开发的鸿蒙app无法与tomcat连接。连接使用的是模拟机。2、如果使用安卓的模拟机,其默认的外部地址是10.0.2.2,所以连接地址就是http://10.0.2.2:8080/..../....,但在鸿蒙的模拟器上地址就不对了。10.0.0.2和127.0.0.1都试过了,无法连接。请教一下,哪位知道地址是什么或者应该如何连接吗?【代码】连接部分代码如下:new Thread(new Runnable() { @Override public void run() { try { URL url = new URL(path); HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("GET"); httpURLConnection.setConnectTimeout(5000); int responseCode = httpURLConnection.getResponseCode(); if (200 == responseCode) { InputStream inputStream = httpURLConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); responseMsg = bufferedReader.readLine(); if(responseMsg==null){ message = "空的"; } HiLog.warn(LABEL,"connect successfully","info"); } else { System.out.println("responseCode = " + responseCode); //连接服务器出错,错误代码为:responseCode 根据代码值告诉用户出错的原因 //.... } } catch (Exception e) { e.printStackTrace(); } }}).start();【其他信息】(可选,上传日志内容或者附件)相关网络权限已经开启。这段代码在安卓上是可以运行的,可以连接到本地的服务器。
-
通过服务构建器申请安装一个WordPress服务# 1. 软件介绍 **Tomcat** 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 # 2.任务目标 此任务是利用服务构建器的资源编排功能,一键式自动化实现虚拟机的创建以及`Tomcat`服务的安装,并通过`EIP`可以直接访问**Tomcat**首页。 # 3.任务准备 1. 我们选用`Tomcat9.0`版本,由于环境与`Tomcat`官网的网络不通,所以我们可以先手动讲软件包放置到`软件仓库`,虚拟机与软件仓库的网络互通,可以直接从软件仓库下载软件。 2. 由于`Tomcat`的运行依赖`JDK`,所以我们也需要准备`JDK`的安装包,我们这里选用`JDK1.8`版本。 3. 软件包准备如下图所示,都已经提前上传到**软件仓库**。  ## 4.执行步骤 ### 1. 编写Tomcat安装脚本 由于我们是通过在申请完虚拟机后,通过执行脚本来安装`Tomcat`的,所以我们需要提前编写好`Tomcat`的安装脚本。 **步骤:** 1. 登录`ManageOne`的租户面,依次点击 **资源->脚本资源->创建脚本**。 来到创建脚本界面:  2. 创建脚本 我们的脚本是在`linux`操作系统下的`shell`脚本,所以这里系统类型选择`Linux`,脚本类型选择`Shell`,脚本名称和分类可以自定义。 我们编写脚本内容: ```shell #!/bin/bash -v JDK_SOURCE_URL=jdk_source_url TOMCAT_SOURCE_URL=tomcat_source_url LOCAL_TEMP=/opt/tmp JDK_INSTALL_PATH=/usr/local/java TOMCAT_INSTALL_PATH=/opt/tomcat LOG_PATH=/var/log/tomcat_install.log echo "Start to execute tomcat install script. " >>${LOG_PATH} firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload [ ! -d ${LOCAL_TEMP} ] && mkdir -p ${LOCAL_TEMP} cd ${LOCAL_TEMP} JDK_PACKAGE_NAME=${JDK_SOURCE_URL##*/} wget -qc ${JDK_SOURCE_URL} -O ${JDK_PACKAGE_NAME} echo "Download jdk package success. JDK_PACKAGE_NAME=${JDK_PACKAGE_NAME} " >>${LOG_PATH} [ ! -d ${JDK_INSTALL_PATH} ] && mkdir -p ${JDK_INSTALL_PATH} tar -zxvf ${JDK_PACKAGE_NAME} -C ${JDK_INSTALL_PATH} rm ${JDK_PACKAGE_NAME} JDK_ROOT_FOLDER=$(echo ${JDK_PACKAGE_NAME} | awk -F- '{print $2}' | awk -Fu '{print "jdk1."$1".0_"$2}') cp /etc/profile /etc/profile.$(date +%Y%m%d%H%M%S)bak cat >/etc/profile export JAVA_HOME=${JDK_INSTALL_PATH}/${JDK_ROOT_FOLDER} export JRE_HOME=${JDK_INSTALL_PATH}/${JDK_ROOT_FOLDER}/jre export CLASSPATH=.:${JDK_INSTALL_PATH}/${JDK_ROOT_FOLDER}/lib:${JDK_INSTALL_PATH}/${JDK_ROOT_FOLDER}/jre/lib:$CLASSPATH export PATH=${JDK_INSTALL_PATH}/${JDK_ROOT_FOLDER}/bin:${JDK_INSTALL_PATH}/${JDK_ROOT_FOLDER}/jre/bin:$PATH EOF source /etc/profile echo "Export environment variable success. JAVA_HOME=${JAVA_HOME}" >>${LOG_PATH} TOMCAT_PACKAGE_NAME=${TOMCAT_SOURCE_URL##*/} wget -qc ${TOMCAT_SOURCE_URL} -O ${TOMCAT_PACKAGE_NAME} echo "Download tomcat package success. TOMCAT_PACKAGE_NAME=${TOMCAT_PACKAGE_NAME} " >>${LOG_PATH} [ ! -d ${TOMCAT_INSTALL_PATH} ] && mkdir -p ${TOMCAT_INSTALL_PATH} tar -zxvf ${TOMCAT_PACKAGE_NAME} -C ${TOMCAT_INSTALL_PATH} rm ${TOMCAT_PACKAGE_NAME} TOMCAT_ROOT_FOLDER=${TOMCAT_PACKAGE_NAME%.tar.gz} cd ${TOMCAT_INSTALL_PATH}/$TOMCAT_ROOT_FOLDER/bin chmod +x *.sh ./startup.sh echo "Start tomcat success. " >>${LOG_PATH} ``` 3. 参数设置 脚本可以设置参数,这里假设我们只需要用户传入`JDK`和`Tomcat`的下载地址即可,其他参数我们就在脚本中指定了。如果脚本内容中某一个变量是参数,需要在执行时用户传入,我们就需要给脚本设置参数。 点击创建脚本页面的 **参数配置** 就可以给脚本设置参数了:  我们给脚本设置两个参数,参数名称一定要和脚本内容中定义的名称一致。如我们脚本内容中的参数分别叫`jdk_source_url`和`tomcat_source_url`,所以我们定义的参数也必须一致,如下所示:   4. 保存脚本 我们脚本信息填写完成后,点击 **确定** 就可以保存脚本了。 ### 2.绘制服务模板 创建好脚本后,我们就可以创建服务模板了。 1. 登录`ManageOne`的租户面,依次点击 **系统 -> 服务构建->服务模板** 来到服务模板管理界面后,点击左上角的 **创建按钮**,选择 **资源编排图形化设计器** ,带到服务模板绘制界面。 2. 绘制模板 `Tomcat`是一个`Web`服务器,需要对外提供服务,所以我们需要一个**弹性IP**资源,用来暴露外界访问地址,其次我们需要一台**ECS**资源,并且要在`ECS`执行我们的`Tomcat`安装脚本,所以需要一个**脚本配置绑定**资源,其次拖入我们刚刚创建的**Tomcat安装脚本**资源。 最终我们的模板绘制如下:  * 输入参数: 输入参数主要包括虚拟机的基本参数以及脚本需要的基本参数。 * 输出参数: 我们安装好后的`Tomcat`需要暴露`Tomcat首页地址`,Tomcat首页地址格式:`http://弹性IP:8080`. 这里我们把虚拟机的弹性IP和私有IP也暴露出来,方便其他需求使用。  --- 绘制好模板后,点击**保存服务模板**,然后填写模板的一些基本信息后,点击**确定**即可保存模板成功。 ### 3.创建服务 创建好服务模板后,我们服务模板列表页面找到刚刚创建的模板,点击**创建服务**,来到创建服务界面:   在创建服务界面可以配置很多参数: 1. 服务的基本信息:包括服务的名称、描述、版本、分类等信息。 2. 位置信息:我们可以选择服务创建的`region`以及资源集信息。 3. 使用策略:可以配置服务发布后的可见范围,可以选择全部可见(当前VDC及下级VDC可见),或者部分可见,选择发布到的VDC信息。 4. 其他参数:剩下的参数就是我们服务模板的参数,这些参数我们可以在创建服务时锁定,如我们想控制虚拟机镜像,那我们可以在创建服务时锁定,并且对用户隐藏,这样以后申请时,用户就看不到镜像的参数,所有虚拟机镜像保持一致。这里我们所有的参数都选择用户自定义,由用户在申请时指定。 参数填写完成后,点击 **立即创建** 创建我们的服务。 --- ### 4.申请服务 服务创建完成后,就可以立即在左上角导航栏看到。  我们点击我们刚刚创建的服务,来到服务申请页面,填写对应的参数:  参数填写完成后,点击立即申请,申请服务是异步的,需要几分钟的时间,我们耐心等待一会,喝口水,就可以看到服务申请完成了。  --- ### 5. 服务测试 当我们的服务申请完成后,我们点击**申请到的服务名称**,进入详情界面,可以看到我们之前定义的输出参数:  点击`Tomcat欢迎页`,可以正确跳转到`Tomcat`的欢迎页。  --- ## 5. 总结 服务构建器提供了非常丰富的资源编排功能,用户通过编排,可以实现各种场景的软件安装、集群配置、资源组合等功能,欢迎体验。
-
架构信息和系统  安装mysql及tomcat运行所需依赖 [root@a1 ~]# yum install -y java-1.8.0-openjdk mysql [root@a1 mysql]# mkdir -p /data/mysql/data/ mysql初始化 [root@a1 mysql]# /usr/local/mysql/bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql 注意此时密码已经生成,用此密码登录 [root@a1 mysql]# systemctl start mysql  安装tomcat [root@a1 local]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.21/bin/apache-tomcat-8.0.21.tar.gz  [root@a1 local]# tar zxvf apache-tomcat-8.0.21.tar.gz [root@a1 local]# wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.21.tar.gz [root@a1 local]# tar zxvf mysql-connector-java-8.0.21.tar.gz 安装mysql-connect [root@a1 local]# cp mysql-connector-java-8.0.21/mysql-connector-java-8.0.21.jar apache-tomcat-8.0.21/lib/  编写连接mysql文件 [root@a1 local]# cd apache-tomcat-8.0.21/webapps/ [root@a1 webapps]# mkdir test [root@a1 webapps]# vim test/mysql.jsp  [root@a1 apache-tomcat-8.0.21]# cat webapps/test/mysql.jsp  测试连接  自此tomcat连接mysql成功 ps 报错无关连接问题,更改mysql初始password后正常 
-
查看系统及架构  安装java环境 [root@localhost ~]# yum install java-1.8.0-openjdk -y  获取Tomcat包 [root@localhost ~]# cd /opt/ [root@localhost opt]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz  解压tomcat并运行 [root@localhost opt]# tar zxvf apache-tomcat-8.0.53.tar.gz  [root@localhost opt]# cd apache-tomcat-8.0.53/ [root@localhost apache-tomcat-8.0.53]# bash bin/startup.sh    关闭tomcat  自此tomcat在openEuler-LTS-SP1上安装已经完成
-
系统版本及架构  安装java环境 [root@localhost ~]# yum install java-1.8.0-openjdk -y  获取Tomcat包 [root@localhost ~]# cd /opt/ [root@localhost opt]# wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.99/bin/apache-tomcat-7.0.99.tar.gz  解压tomcat并运行 [root@localhost opt]# tar zxvf apache-tomcat-7.0.99.tar.gz [root@localhost opt]# cd apache-tomcat-7.0.99/ [root@localhost apache-tomcat-7.0.99]# bash bin/startup.sh    关闭tomcat  自此tomcat在openEuler-LTS-SP1上安装已经完成
-
一 . 什么是TomcatTomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。二 . 检查环境三 . 安装Tomcat9.x社区中稳定版为9.0.10版本,我们选择通过openeuler源下载yum install tomcat完成安装,输入tomcat可以查看到安装路径查看版本/usr/sbin/tomcat version四 . 启动Tomcat1. 检查8080端口netstat -anp | grep 8080 2. 开放8080端口vim /etc/sysconfig/iptables进入编辑器后按照22端口模式,添加8080端口执行systemctl restart iptables重新运行服务3. 启动Tomcat输入systemctl start tomcat启动tomcat输入systemctl status tomcat检查启动状态失败,进入对应路径修改配置文件vi /usr/lib/systemd/system/tomcat.service将user和group对应的tomcat修改为root执行systemctl daemon-reload重新加载再次执行启动命令并检查状态启动成功浏览器输入ip:8080访问;本例中使用鹏程云主机,故ip和端口为映射后的结果。至此,Tomcat9.X版本部署完成。
-
与nginx不同,tomcat容器的日志并没有重定向到标准输出.首先使用kubectl run tomcat --image=tomcat 生成一个容器。root@ecs-beijing1:~# kubectl get podNAME READY STATUS RESTARTS AGEtomcat 1/1 Running 1 36mtomcat-7d6ff78b47-5sjm9 1/1 Running 1 11mroot@ecs-beijing1:~# kubectl exec -it tomcaterror: you must specify at least one command for the containerroot@ecs-beijing1:~# kubectl exec -it tomcat -- bashroot@tomcat:/usr/local/tomcat# cd logsroot@tomcat:/usr/local/tomcat/logs# lscatalina.2021-06-15.loghost-manager.2021-06-15.loglocalhost.2021-06-15.loglocalhost_access_log.2021-06-15.txtmanager.2021-06-15.log重新打开一个终端,测试页面连接:root@ecs-beijing1:~# kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATEStomcat 1/1 Running 1 49m 10.244.0.69 ecs-beijing1 <none> <none>tomcat-7d6ff78b47-5sjm9 1/1 Running 1 24m 10.244.0.72 ecs-beijing1 <none> <none>root@ecs-beijing1:~# curl 10.244.0.72:8080///<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/9.0.46</h3></body></html>root@ecs-beijing1:~# 返回前一个终端,查看access日志:root@tomcat:/usr/local/tomcat/logs# cat localhost_access_log.2021-06-15.txt10.244.0.1 - - [15/Jun/2021:08:50:46 +0000] "GET / HTTP/1.1" 404 682root@tomcat:/usr/local/tomcat/logs# 可以看到日志记录了登录行为。
-
传统tomcat启动服务与springboot启动内置tomcat服务的区别
-
【问题来源】【必填】 【可选问题来源:武汉农村商业银行】 【问题简要】【必填】SUM组件安装完,tomcat启动失败:required server componet failed to start【问题类别】【必填】 CMS/SUM/SIA/Baseweb安装【AICC解决方案版本】【必填】 AICC可选择版本:AICC 8.13.0 SUM可选择版本:SysUserMgmtService-2.6.0.tar.gz【期望解决时间】4月25日下班前【问题现象描述】【必填】 SUM组件安装完,tomcat启动失败:required server componet failed to start 2021-04-24 07:47:29,815 [main] FATAL The required Server component failed to start so Tomcat is unable to start.org.apache.catalina.LifecycleException: A child container failed during startBeanCreationException: Error creating bean with name 'beansConfig' 【日志或错误截图】【可选】附件分别为catalina.out和sum.log日志
-
部署环境:鲲鹏920服务器操作系统:银河麒麟V10JDK:OpenJDK 1.8.0_242问题:如果用麒麟或者欧拉的yum源安装tomcat 9.0,在tomcat主目录的lib目录下面,会缺少一个jar包ecj-4.13.jar,如果部署了传统Servlet Web应用,在系统运行时,会报如下错误:解决方法:1、在tomcat官网下载.tar.gz压缩包,然后解压后配置,会发现lib目录下面有这个jar包,再重新部署应用,即可正常访问。2、在应用的maven pom文件中增加这个依赖,重新编译构建打包,然后部署应用就可以正常访问
-
一、概要近日,华为云关注到Apache Tomcat官方披露在特定的Tomcat版本中存在一处H2C请求混合漏洞(CVE-2021-25122)。当Tomcat响应新的h2c连接请求时,可以将请求标头和数量有限的请求主体从一个请求复制到另一个请求,这意味着用户A和用户B都可以看到用户A的请求结果。华为云提醒使用Tomcat用户及时安排自检并做好安全加固。参考链接:https://lists.apache.org/thread.html/r7b95bc248603360501f18c8eb03bb6001ec0ee3296205b34b07105b7%40%3Cannounce.tomcat.apache.org%3E二、威胁级别威胁级别:【严重】(说明:威胁级别共四级:一般、重要、严重、紧急)三、漏洞影响范围影响版本:Apache Tomcat 10.0.0-M1至10.0.0Apache Tomcat 9.0.0.M1至9.0.41Apache Tomcat 8.5.0至8.5.61安全版本:Apache Tomcat 10.0.2或更高版本Apache Tomcat 9.0.43或更高版本Apache Tomcat 8.5.63或更高版本四、漏洞处置目前官方已发布版本修复了漏洞,请受影响的用户升级至安全版本。Apache Tomcat 10.xApache Tomcat 9.xApache Tomcat 8.x注:修复漏洞前请将资料备份,并进行充分测试。
-
所有操作步骤是按照HCIA-Kunpeng Application Developer V1.5 应用迁移实验手册应用性能测试实验的步骤进行的
-
解锁部署关卡,做完部署任务。首先购买ECS,按需的,购买EIP。防火墙放通。需要注意的是,任务完成要需要从会员中心任务那里点进去完成才算数,自己做的任务,不得豆。部署的任务要能够成功完成,才能算完成任务。手册:https://support.huaweicloud.com/bestpractice-deployman/deployman_practice_1006.html需要注意的是,如果你买的ECS是arm的,需要用支持arm版本的JDK。手册这里的URL健康测试老是通不过,但是实际上部署已经成功了怎么办呢?明明都已经成功了,部署老是通不过。。。提个问题单吧,先截掉URL健康测试步骤,再部署一遍,通过了。任务也做过去了
-
一、配置tomcat 在tomcat的catalina.sh文件开头加上如下配置:JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.184.129 -Dcom.sun.management.jmxremote.rmi.port=9999" 各参数含义: -Dcom.sun.management.jmxremote:是否支持远程JMX访问,默认true; -Dcom.sun.management.jmxremote.port:是JMX远程监控端口号,需要在防火墙开放该端口; -Dcom.sun.management.jmxremote.ssl=false:表示是否对连接开启SSL加密,默认开启; -Dcom.sun.management.jmxremote.authenticate=false :是否需要开启用户认证,默认开启,如果开启需要额外配置授权文件; -Djava.rmi.server.hostname=192.168.184.129:远程服务器的主机名; -Dcom.sun.management.jmxremote.rmi.port=9999:RMI端口号,JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口,可以和JMX端口号相同。二、配置主机名 使用hostname -i命令查看主机名是否为外网访问ip192.168.184.129:[root@localhost bin]# hostname -i127.0.0.1 127.0.0.1 发现是127.0.0.1,所以需要修改主机名为192.168.184.129。(1)修改/etc/sysconfig/network文件 原文件内容为:[root@localhost bin]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=localhost.localdomain 修改HOSTNAME为192.168.184.129,即修改后内容为:[root@localhost bin]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=192.168.184.129 修改后使用service network restart命令重启网络服务。(2)修改/etc/hosts文件 原文件内容为:[root@localhost bin]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 修改127.0.0.1为192.168.184.129,并删除第二行ipv6的配置,即修改后文件内容为:[root@localhost bin]# cat /etc/hosts192.168.184.129 localhost localhost.localdomain localhost4 localhost4.localdomain4 此时使用hostname -i命令再次查看主机名,已经修改过来了[root@localhost bin]# hostname -i192.168.184.129三、配置防火墙 配置防火墙开放9999端口,编辑/etc/sysconfig/iptables文件,加入-A INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT,然后service iptables restart重启防火墙服务。四、配置jvisualvm 启动tomcat后,在windows本地jdk安装路径bin目录下找到jvisualvm.exe,双击打开后左侧显示如下:在“远程”上右键-->添加远程主机-->填写主机名:点击确定后,远程选项下多了一条刚才添加的主机列表。右键-->添加JMX连接,如下图,填入JMX远程连接端口号9999,并勾选“不要求ssl连接”:点击确定后,左侧多了一条pid为6822的远程连接,6822是远程tomcat的pid:双击该连接,在右侧可以动态查看jvm的概览信息,监控CPU,java堆,元空间,类,线程等数据:五、常见问题 在添加JMX连接的时候,经常会出现如下报错:此时可以从以下几个方向检查:(1)检查tomcat应用是否启动,或者修改tomcat配置后是否重启tomcat,确保9999端口处于监听状态,查看命令netstat -nl|grep 9999;(2)检查主机名是否和tomcat中配置的主机名相同,如果不同则按照第二步修改主机名;(3)检查RMI端口号端口号是否在防火墙进行了配置,如果配置的RMI端口号和JMX端口号不一致,需要在防火墙配置RMI端口号允许访问,如果没有配置,则添加-Dcom.sun.management.jmxremote.rmi.port=9999配置RMI端口号
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签