80端口一般被当做网页服务器的默认端口,使用本机搭建服务器环境的时候,都会默认使用80端口来作为网页访问端,但是有的时候80端口会被其他的不明身份的程序占用,导致 Apache 启动失败,修改 Apache 的默认端口后访问本机地址又非常麻烦。下面介绍一下如果80端口被占用后应该如何处理。
修改 Apache 端口的方法是最妥协的方法了,后果是当你开启 Apache 服务器的时候,访问的本机地址将会附带端口号,比如 http://localhost:8888 。
修改方式是直接修改 httpd.conf 文件,文件的位置在 Apache 安装目录下的 conf 文件夹下,直接用记事本打开,找到 Listen 80 ,将80修改为其他未被占用的端口。
注:httpd.conf 文件中,以#开头的行是关闭的,不生效的,不以#开头的行是启用的。
进入命令提示行(开始运行输入 CMD),输入命令 netstat –ano ,就可以看到本机所有端口的使用情况,一般80端口在第一行,截图显示,端口已经被占用,PID 中写明 LISTENING 4。
PID=4 的程序是哪一个呢?接着在命令提示和下输入指令 tasklist ,列出所有当前运行的进程,
发现 PID=4 的进程,居然是 system 。
其实本身我用的 Apache 好好的,只是突然不能启动了,回想在此期间新安装的软件,面子这么大,能让系统占用80端口的,也只能有 SQL Server 2008 了。经过查询,发现占用80端口的确是 SQL Server 2008 里面的组件——SQL Server Reporting Services (MSSQLSERVER)。是 SQL Server 的日志系统,就是他好端端的突然占用了80端口,而且对于普通人来讲,这个组件的作用没啥用,关掉也是节约资源。
关闭方法很简单,在运行框中输入 services.msc ,进入服务窗口。或者直接在开始菜单里面的搜索框中输入“服务”即可打开。然后找到 SQL Server Reporting Services (MSSQLSERVER) 这个服务,然后停止,被占用的80端口就被释放出来了。你也可以设置它的启动方式为“禁用”。
看清楚了,就是它。
除此之外,我还在网上找到了另外80端口被 system 占用的原因,就是微软家的 IIS 服务,关闭方式可以去控制面板去关闭即可。
总结原因顺便吐槽,最近在学习 java 操作 SQL Server 数据库,所以请了个大爷进电脑,曾经也因为一些原因安装过 SQL Server ,两次的安装体验,总感觉微软家的产品就是 VIP 待遇,安装就要半个小时,卸载也要半个小,时不服不行啊,谁让 SQL Server 安全高效呢。接下来加油学习吧,骚年们。