tomcat报404 原因是80端口被占用及解决办法


    项目配置:“JDK1.7+tomcat7.0+MYSQL+windows server2012 64bit”


今天客户服务器由于客户自己想装SQLserver 和 Visual studio上去,导致部署在服务器上的项目挂了,访问后台显示404

    404,找不到资源文件,所以第一反应就是是不是项目文件丢失或者tomcat设置出问题了。打开项目文件以及tomcat的配置文件server.xml,发现文件并没有任何的移动或修改。

    于是在网上搜索tomcat404,多半说是文件不对,或者目录设置错误,但是之前系统跑得好好的,所以就排除了这2个可能性。

    为了安全性,服务器只开放了80端口,再查看tomcat7的日志文件,发现jvm bind报错了。就得到了是服务器的80端口被占用导致的出错,server2012带的IIS会占用80端口,所以就在服务里将IIS全部关闭,访问依旧是404,再使用netstat -ano命令查看端口占用情况,发现80端口被PID为4的程序占用,打开任务管理器一看,PID为4的是SYSTEM,系统占用,可是IIS已经被关闭了,还有什么会占用的,那就是用户自己新装的SQL SERVER,由于是微软的程序,可以调用system占用80端口,所以我们直接把sql server和Visual studio都卸载。卸载之后,仍然被system占用,就百度搜索“80端口被system占用,占用解决办法”,找到https://www.cnblogs.com/firstdream/p/8057646.html解决办法,然后发现PeerDistSvc进行占用了,禁用该服务后,仍未解决。有另外的进程占用。技术组长说需要关闭http服务,net stop http命令,但是该命令确认后,执行失败。最后找到了https://steamcn.com/t461062-1-1文章,直接设置。

	打开RegEdit:开始-运行-输入regedit-调出 注册表
	找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTP
	 找到一个DWORD值Start,将其改为0
	 重启电脑,System进程将不会占用80端口
	 system占用80端口的解决方案

所以,出现404的总结:先查看项目文件是否丢失——>再查看tomcat的server.xml配置文件是否被修改——>查看tomcat端口是否被占用——>解决占用端口问题。

你可能感兴趣的:(tomcat报404 原因是80端口被占用及解决办法)