项目配置:“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端口是否被占用——>解决占用端口问题。
项目在Windows Server 2012上运行时遇到404错误,排查后发现80端口被占用。IIS关闭后,发现是System进程占用,与SQL Server和Visual Studio有关。尝试卸载和禁用相关服务未解决问题,最终通过停止HTTP服务并解决其他占用进程解决了问题。
2079

被折叠的 条评论
为什么被折叠?



