关于80端口号冲突的问题总结(全)
关于80端⼝号冲突的问题总结(全)
I.Port80简介:
80端⼝是为(HyperText Transport Protocol)即开放的,此为上⽹冲浪使⽤次数最多的协议,主要⽤于WWW(World Wide Web)即万维⽹传输信息的协议。可以通过HTTP地址(即常说的“⽹址”)加“: 80”来访问⽹站,因为浏览⽹页服务默认的都是80,因此只需输⼊⽹址即可,不⽤输⼊“: 80”了。
II.问题描述:
  80端⼝是⼀个最为频繁访问的端⼝号,甚为程序员开发更是经常遇到,⽐如我们最熟悉的数据库系统服务进程就是默认访问该端⼝的,还有⽐如Ngnix服务器默认端⼝也是80,所以当使⽤ngnix时发⽣端⼝号冲突了,应该怎么办呢?以下见析。
III.原因:
  主要是与http协议有关的进程,进⾏⽹上访问的系统级别的进程最频繁占⽤80端⼝。⽐如Http.sys。它是http 的驱动组件,Http栈。如果该端⼝被Http.sys占⽤,说明⼀些正在使⽤http.sys的应⽤程序在运⾏。
IV.解决办法:辛集一中女篮
  1)使⽤命令查看哪个线程占⽤80端⼝
    win+R调出doc窗⼝,输⼊cmd,继续输⼊"netstat -ano | more"或者“netstat -aon”
    2)寻端⼝号
    到“本地地址”栏为0.0.0.0:80的⼀⾏,在⾏的末尾有pid(进程id)为“4”。
  3)打开任务管理器(ctrl+alt+del)
    查看pid为4的线程,⼀般会显⽰system占⽤;⾃然system是⽆法直接kill的。
    使⽤netsh命令查看端⼝使⽤状态:”netsh http show servicetstate“。
    可以看到有两个进程正在使⽤http功能。分别为 3164和3196。
    其中3196是sql server的report服务;进程3164对应的是⼀个svchost服务。
上海五一旅游    两者都可以关闭,数据库服务的见下述解决⽅式。
   【扩展】:
    但是,50秒之后端⼝⼜会⾃动被占⽤了。【重新占⽤】
    从procmonitor中可以看到,每次关闭服务 BranchCache 每50s后就会继续被svchost给调⽤起来。
    通过services表(服务表)中,我们发现这⾥的BranchCache 依赖了HTTP.SYS这个内核驱动。
    ⼿动禁⽤即可。
端口被占用
  4)多版本解决⽅案:
    【分析】:
     1)SQL Server导致。其中很有可能是SQL Server Reporting Services (MSSQLSERVER),它是 SQL Server 的⽇志系统。渠家大院
看电视软件     2)IIS 服务。如果你电脑安装了这个,很有可能它在运⾏着,那么它就占⽤着80端⼝。(打开IIS的⽅法:打开控制⾯板,点“卸载”,
      弹窗⾥左侧有⼀个“打开或关闭windows功能”,再点开会有⼀个弹窗,“Internet信息服务”,到 Internet Information Services,
      点加号展开!因为直接点这个⼤项前⾯的⼩⽅块,FTP服务器选项没反应,我图⾥的这⼏个都勾上就⾏了。
      然后右下⾓点确定,IIS开启成功了。
      关上:开始图标那个win旁边有个圈圈,点开输⼊iis回车就能打开IIS管理器,右击,点停⽌,IIS就算关上了。(win10系统)     3)其他。(⽐如,迅雷等程序或者⼀些其他有上传功能的软件都会占⽤电脑的80端⼝)
    A.已知为数据库进程占⽤,最常见:谷雨的诗句 古诗
    i.查看“任务管理器”进程栏或者详细信息栏,有没有数据库有关的进程,直接kill就⾏。
    ii.打开【管理】->【服务和应⽤程序】->【服务】->到“SQL Server Reporting Service",禁⽤或者⼿动皆可。
    以上可以解决基本上90%左右的占⽤问题。
    (⼀般来说,可能是近期安装了数据库或者升级了数据库等软件造成的,系统占⽤的端⼝⼀般都是微软官⽅的产品占⽤的。)    B.未知进程,即system进程(win7 system默认占⽤):
    i.禁⽤http.sys
    输⼊net stop http,然后确认继续操作,在输⼊Sc config http start= disabled即可停⽌该项服务。
    ii.调出注册表
    打开RegEdit:【开始】->【运⾏】->输⼊【regedit】调出 ”注册表“,
    到”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTP“,
    到⼀个DWORD值Start,将其改为0,重启电脑,System进程将不会占⽤80端⼝。
    【备注】:杀掉进程的命令:taskkill /pid 4 /f ,其中 /f 表⽰强制关闭该进程。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。