当我尝试在IIS中启动一个站点时,它说:
该进程无法访问该文件,因为它由另一个进程使用
我在谷歌搜索并发现另一个网站可能一直在使用端口80,但在MyIIS中,我看到只有这个网站使用的是端口80.还有什么可以使用端口80,还是涉及到另一个问题?
答案 0 :(得分:172)
在命令提示符中使用netstat -aon
或netstat -aon | findstr 0.0:80
进行检查,以查看哪个进程ID LISTENING to port:80 ,然后在<中查看进程ID(PID) strong>任务管理器, view-&gt;选择列 - &gt;进程ID 已选中。结束该过程,重新启动IIS,您就完成了。 (注意:如果您安装了 Skype ,请先尝试退出该流程。)
在现代任务管理器中,您需要转到详细信息标签以搜索PID。或者,如评论中 @Nikita G 所述,您可以使用此命令从命令提示符中查找任务:
tasklist /FI "PID eq 123"
注意:使用从第一个命令返回的PID更改123
。
答案 1 :(得分:35)
这种情况正在发生,因为不同的进程正在使用端口80,它可能是您的PC上的聊天应用程序,如Skype。
首先,将80的默认网站端口更改为某个未使用的端口(例如8087)。要实现此目的,请右键单击该应用程序,然后单击“编辑绑定”。
此端口更改后再次重启。 现在,您可以确定阻止IIS端口80的进程。要检查此操作,请使用netstat命令,该命令显示端口的详细信息以及进程ID。
答案 2 :(得分:25)
退出Skype并重试。我遇到了同样的问题,我刚刚退出Skype,然后重置我的IIS。它对我有用。
答案 3 :(得分:9)
您还可以运行此命令以找出正在使用该端口的应用程序或服务,然后在任务管理器中对其进行跟踪(前提是它不是Web部署代理服务)。
netstat -o -n -a | findstr 0.0:80
然后打开任务管理器,转到进程,单击“显示所有用户的进程”复选框,然后单击“查看”菜单并转到“列”,添加PID列。
将netstat命令中的进程ID与任务管理器中的PID匹配,您将找到使用该端口的服务或应用程序。
答案 4 :(得分:2)
正如其他人所说,其他东西可能正在使用端口80或443.它是我的VMWare工作站服务器,但请查看有关如何使用netstat的其他答案。
答案 5 :(得分:1)
我认为此链接可以很好地解释和解决此问题http://support.microsoft.com/KB/890015
大部分时间;它是由以下两个原因之一引起的: 1)端口80被其他东西使用,并且如其他人所建议的那样,您可以使用netstat -o -n -a | findstr 0.0:80来查看是否是这种情况。如果是,则从任务管理器中杀死该进程(从所有用户勾选显示进程)
2)如果未使用端口80,则第二个原因可能是HTTP-&gt;参数的注册表项中的ListenOnlyList字段中的无效IP地址。如果您按照链接手动设置密钥,或者实际上您可以使用(xp和server 2003)httpcfg delete iplisten -i ipaddress
删除无效的IP地址。
编辑ipaddress后,必须重新启动http!
答案 6 :(得分:0)
就我而言,正在运行并使用端口80的是“Sync Share Service”(SyncShareSvc)。 然而,netstat显示80是免费的。我可以让该网站在另一个端口上运行,但不是80.如果我添加了主机名,IIS将允许我启动该站点,但是当浏览到localhost(或任何主机名我)时,我会收到提示进行摘要式身份验证添加)。 IIS中只启用了匿名和表单身份验证...
我还发现,在停止IIS后,http://localhost
仍然提示我进行摘要式身份验证。
解决方案 - 在我的情况下 - 是删除文件和存储服务&gt;文件和iSCSI服务&gt; 安装的服务中的“工作文件夹”(需要重新启动)。
删除“工作文件夹”服务并重新启动后,IIS按预期工作。
答案 7 :(得分:0)
我的案例是在安装RD Web Access之后,原始的默认网站无法启动。删除RD Web访问角色仍然相同。删除端口443绑定解决了这个问题。
答案 8 :(得分:0)
大多数情况下,Web开发人员发生这种情况是apache的原因,所以如果你从apache转到配置文件!打开它并用ctrl + f搜索到80并将你看到的IP改为8080,并将那里的句子改为80到8080,你需要在你的xampp或你当前正在使用的程序中设置
希望我能帮助你们。
答案 9 :(得分:0)
为了获取更多有意义的信息,一种方法是在发布netstat
时也获取所有权信息,以便您了解使用80(默认的http绑定)还是443(如果定义了https绑定)的进程。 ):
netstat -ab
在我的情况下,罪魁祸首是vmware:
可以将TCP 0.0.0.0:443 ComputerName:0 LISTENING
[vmware-hostd.exe]
netstat输送到find中以搜索端口80或443(例如find ":443"
),但是这些特殊的活动连接将在列表的开头显示,因为它们很容易看到。