以前在iis上发布网站的时候很少出现问题,因为端口都是自己配置的,但是,最近就遇到这么一个问题,废话少说,请看
图片:
网站发布后,启动不了,启动的时候报错了,提示进程无法访问。通过查找原因得知,原来是端口被占用了。
我们以前发布网站的时候,都是自己会设置一个端口,并且这个端口是有区别于其它端口,不会重复,所以从来没有遇到过这个问题。现在是什么情况呢,程序的端口已经设置好了,就是80端口,我们不能重新配置端口了,只能将原来已经做好的程序发布为网站即可。这就造成了端口冲突,两个程序同时使用了80端口,这时候网站虽然发布了,但是不能启动,启动就会报上面图片中的错误。
问题的根源已经找到了,我们解决问题的思路也出来了,既然程序已经发布好了,不能修改,那我们只能修改另外一个占用80端口的程序(姑且这么称呼)了。第一步就是找到这个程序,第二步杀掉这个程序或者是修改它的端口。
直接说解决方法:第一步--找到使用80端口的进程(Windows7
为例)
windows + R
打开运行,输入CMD打开命令提示符,输入
:
Netstat-aon|findstr "80"
然后回车键,显示如下结果:
原来是ID为1780的进程占用了80端口,接下来,我们看看这个进程到底是什么。继续在命令提示符窗口输入:
Tasklist|findstr "1780"
显示如下结果:
原来是httpd程序占用了80端口,这个程序到底是干什么的呢?百度了一下,没看懂。接下来就可以杀掉这个进程或者改端口了,我首先试了一下杀掉这个进程,方法如下:方案一
方法1
直接在命令提示符窗口输入:tskill 1772
,然后重启iis。
方法2 ctrl + alt + del
键
,打开任务资源管理器,点击查看,选择列,然后勾选上PID (进程标识符)项,然后在窗口中查询PID为1772的进程,然后结束这个进程即可,然后重启iis即可。
这个方法不太好,因为有时候会提示找不到
这个进程,并且,关机以后,不会保存,再次开机时还得杀掉这个进程,所以不建议使用这个方法,我们使用方案二 修改这个进程的端口。
按照以下流程(一Windows7 为例),依次打开:计算机---C盘--Windows--Apache-conf文件夹,然后你会看到httpd.conf文件,使用文本编辑器打开,然后查找:Listen
80 ,这个就是程序的端口,修改这个端口为任意值,比如直接在后边添加81改为listen
8081,然后保存,重启iis即可。
如果还是解决不了这个问题,重启计算机。