首页 > 编程知识 正文

哆点端口被占用,哪些端口没有被使用

时间:2023-05-06 06:19:49 阅读:216688 作者:322

80、443端口被占用,Pid=4,进程无法杀死,拒绝访问 解决方案
操作系统的两个重要的端口,一个是80端口,一个是443端口,这两个端口在网络通信的时候,起着至关重要的作用,在这里,先简单地介绍一下80端口和443端口所起的作用;
  80端口是为HTTP即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW即万维网传输信息的协议。可以通过HTTP地址(即常说的“网址”)加“:80”来访问网站,因为浏览网页服务默认的端口号都是80,因此只需输入网址即可,不用输入“:80”了,而其他端口则必须加上。
  443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。在一些对安全性要求较高的网站,比如银行、证券、购物等,都采用HTTPS服务,这样在这些网站上的交换信息其他人都无法看到,保证了交易的安全性。网页的地址以https://开始,而不是常见的http://。
  
解决方案:
  如何查看端口的状态以及被哪个程序占用着:
  查看端口的工作状态,其实很简单,Windows+R调出【运行】窗口,输入cmd回车,进入到命令提示符,接着输入netstat –ano | find ”0.0.0.0:80”回车,便看到80端口的状态,果然,80端口被一个PID为4的进程占用着;

接下来按下Ctrl+Alt+esc打开任务管理器,在任务管理器【详细信息】里面,鼠标单击PID这个字段名,按pid给进程排序,然后发现PID=4的是一个叫System的系统进程;
  
  右键system,打开文件位置,发现是一个位于Windowssystem32下面文件名叫ntoskrnl.exe的系统程序,

如何解决问题:
  然而我们知道Windowssystem32下面的程序都是和系统运行相关的一些东西,并且通过这个文件名ntoskrnl.exe我们可以大概知道它是处理系统内核级别的,system这个进程在任务管理器里面结束不了,而且就算把它杀死了,系统也可能会出现不稳定的情况,所以得想想办法,仔细想想,80端口既然是给http用的,那么它很有可能是被某个与http相关的服务占据掉了,通过百度搜出来的结果,虽然搜出来很多的说法,但是都屡试不爽,

不过,搜出来的这些结果还是给了不少的提示,既然是http服务,那就到服务里面找一下有木有咯,打开服务控制台,h开头的服务就这几个,没找到http,

通过注册表,最后还是解决了;哎,说了这么多,那到底如何解决呢?下面就说具体的做法了;首先,Windows+R调出【运行】,输入regedit回车,

展开注册表,找到HKEY_LOCAL_MACHINE目录

然后按顺序展开到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices;

到这里,这个Services键就是系统服务的藏身之处,所有的服务都可以通过注册表来管理,接下来展开Services键,往下拉找到HTTP(小提示:将光标定位到下一级目录按H键可快速定位到H开头的目录);

看到右边有个Start,值为3,然后双击start,弹出一个编辑框,把3改成4,确定;

好,确定后关闭注册表,检查一下你的系统有没有安装IIS服务,如果安装了IIS服务,那还有接下来的操作,如果没有,那就已经OK了;
  如何检查系统是否有IIS?开始菜单搜索“iis”;如果有搜索结果,说明安装有IIS,如果没有搜索结果,就自己看着办吧;我想的话,80端口被占用,你电脑里面多半是装有IIS的;

有的话,那就打开IIS咯,然后依次展开到这里

在窗口的最右边菜单里,有个编辑网站->绑定;

打开绑定设置,有个端口是80的http记录,看到没,选中它,点右边的编辑;

把端口改成8888或者其它数字,确定,关闭IIS;

然后重启电脑,再用netstat –ano命令查看端口状态,发现列表里已经没有80和443了,说明80和443端口已经被释放掉了;

重启之后再用xampp开启Apache服务器就能成功了,看看,是不是很靠谱;

好,靠谱之后,再把刚才那个注册表的值改回3即可。

注意:如果你不会用到用VS和IIS的话,你可以不改回来,但是,你以后需要用到IIS或者Visual Studio的话,出现问题,不要忘了,回来把这个注册表的值改回来,我个人建议,为了不会忘记,还是在完事之后先把它改回来再说吧;
  小结:
  其实80和443端口如果System没占用,有时候也可能被其他的程序给占用掉,比如迅雷等下载工具也有可能会占用,如果发现是其他的程序在占用的话,直接用任务管理器干掉即可;如果你安装了SQL Server,有时候SQL Server ReportingServices (SQLEXPRESS) 服务也可能会占80端口,这个问题直接禁用并停止掉SQL Server ReportingServices就可以了,不过SQL Server一般不会占用http的端口。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。