当前位置:   article > 正文

阿里云tomcat部署war包后404-源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示_404 - 找不到文件或目录。tomcat发布到阿里云服务器

404 - 找不到文件或目录。tomcat发布到阿里云服务器

背景

        环境 jdk1.8,idea 2020.4  阿里云服务器Debian tomcat-8.5.69 tomcat10.0.7

        这两天在捣鼓idea spring web demo,趁着去年买的阿里云服务器还未过期,把在本地打包java为war包后放到阿里云中的tomcat自动加载启动。按照步骤先后安装jdk、配置jdk环境变量、解压tomcat、将war包上传到...../tomcat/webapps/下、启动tomcat,但是远程访问还是一直出现404。

        首先先说明,在本地idea上run,本机http://127.0.0.7:80/是可行的,使用Maven package后,生成的war包通关scp远程拷贝放到阿里云服务器指定...../tomcat/webapps/下,已经确定..../tomcat/conf/server.xml中的端口是正常的,并且已经在阿里云服务器安全组中开启了对于的端口。当初以为是端口不对,还特地在java web中指定为了80端口。

        其实以上的步骤,很多博客上其实都说得很清楚,步骤是一致,我这里不再赘述。下面主要列一下我尝试的解决方法。

尝试解决

        以下两种方法阿里云tomcat版本10.0.7

        1.  怀疑我的war包制作/web程序有问题。我尝试了2种写法,一个直接返回 hello;另外一个去指向加载html。在本地调试没问题,放到...../tomcat/webapps/下,并且看到war包确实被加载了,在同级别文件夹下生成了相同名字的文件夹。这个尝试没解决问题。

        2. 怀疑阿里云服务器配置的端口号不对,专门指定了80端口,并且还把...../tomcat/webapps/下的文件全部删除,以为是这些影响了,但是还是没用,并且阿里云服务器我也重启过了。也还是不行。

        因为是第一次接触和操作,对tomcat的理论知识有点忘了,所以在下班的时候,回去刷了一遍慕课网中有关tomcat的相关视频。重拾理论知识后,第二天就有了如下的尝试。

解决方法:

        在全新的window10(无java环境)电脑上,安装jdk和tomcat,实验在本地的war包是否可以正常访问。

        在window10安装后,一切就绪后,加载war包,在本地和局域网内都可以访问!可以!这说明我制作的两种war包都没问题,那么问题就定位在阿里云服务器中环境问题。

        1. 先检查tomcat版本,我发现不一致,所以我重新从官网下载8.5.69解压缩到对应目录下,之前10.0.0.7的删除掉。

        2. 检查jdk的版本,jdk的环境变量配置。jdk8版本一致,但是环境变量有两个地方都配置了,/etc/profile 和 ~/.bashrc,所以我把~/.bashrc下的配置给注释掉。

        3. 重启启动tomcat,然后加载就可以了显示。

后续:

        后面我不确定是如何好的,我又将~/.bashrc中jdk的环境变量放开,再进行访问,卡住不行。我再注释,在运行访问,还是卡住不行。

        然后我重启阿里云服务器,把tomcat版本换回10.0.7,想试一试到底是什么原因导致的。更换后,还是不行。中间又重启了一遍阿里云服务器,还是不行。中间还使用shutdown.sh,报如下错,这个说明tomcat启动异常,tomcat may not be running。我使用ps,查看很多给java进程,我使用kill -9 强制退出,再startup.sh,然后再shutdown.sh,还是出现如下错误。这可以断定tomcat异常,需要重启或者重新安装,此时访问也一直卡住。

 最后,重启阿里云服务器,重新启动tomcat,并且试一下shutdown,也正常如下:

此时再startup,发现又访问不了,还是tomcat进程没有完全退出吧。现在记录至此。

所以现在就是初次启动后,每次都是热加载进行调试了,毕竟现在还未真正用在项目上,将来真正用在再深入研究吧。如果大家有遇到相同问题,欢迎讨论研究~~

总结:

        一个新的东西,第一次接触,可能会走弯路。千里之行始于足下。有问题,解决之。还有问题,那不能在原地打圈,就算去问经验丰富的人,他们也是需要花费一定的时间。最有效的方法,就是深入进去,学习它,相信开发出tomcat的人,不是为了让人绕弯子跳坑,而是为了让我们更好更快的上手。所以理论基础很重要,想跨域这一步,就算达到目标,那也只是浅浅的一层。所以,重视基础,方能技能在手,问题不再有哈。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/120365
推荐阅读
相关标签
  

闽ICP备14008679号