Когда я пытаюсь запустить сайт в IIS, он говорит:
процесс не может получить доступ к файлу, потому что он используется другим процессом
Я поискал в Google и обнаружил, что другой сайт мог использовать порт 80, но в MyIIS я вижу, что только этот сайт использует порт 80. Что еще может использовать порт 80 или есть другая проблема?
IIS-W3SVC
иHttpEvent
источника. Текст второго журнала событий -Unable to bind to the underlying transport for [::]:8080. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.
. Порт 8080 использовался службой Oracle. Я изменил порт, используемый моим веб-сайтом, на 8081.Ответы:
Проверьте с помощью
netstat -aon
илиnetstat -aon | findstr 0.0:80
в командной строке, чтобы узнать, какой идентификатор процесса ПРОСЛУШАЕТ порт: 80, а затем следите за этим идентификатором процесса (PID) в диспетчере задач с помощью view-> select columns-> process id selected . Завершите этот процесс, перезапустите IIS, и все готово. ( Примечание: если у вас установлен Skype , попробуйте сначала выйти из этого процесса. )В современном диспетчере задач вам нужно перейти на вкладку « Подробности », чтобы найти PID. Или, как упомянул @Nikita G в комментариях, вы можете использовать эту команду, чтобы найти задачу из командной строки:
Примечание: измените
123
PID, полученный из первой команды.источник
netstat -aon | findstr 0.0:80
. И тогда при условии , что возвращает PID 123, выполните следующие действия, чтобы увидеть , какой процесс , который:tasklist /FI "PID eq 123"
.OracleServiceXE
служба, которая съела порт 8080, к которому пытался привязаться новый веб-сайт на моем сервере IIIS.Это происходит потому, что другой процесс использует порт 80, это может быть приложение чата на вашем ПК, такое как Skype.
Сначала измените порт веб-сайта по умолчанию, который был 80, на какой-то неиспользуемый порт (например, 8087). Для этого щелкните приложение правой кнопкой мыши и выберите «Изменить привязку».
После смены порта снова перезапустите. Теперь вы можете определить, какой процесс блокирует порт IIS 80. Чтобы проверить это, используйте команду netstat, которая отображает сведения о порте вместе с идентификатором процесса.
источник
Выйдите из Skype и попробуйте еще раз. У меня возникла та же проблема, и я только что вышел из Skype, а затем сбросил свой IIS. У меня это сработало.
источник
Вы также можете запустить эту команду, чтобы узнать, какое приложение или служба использует порт, а затем отследить его в диспетчере задач (при условии, что это не служба агента веб-развертывания).
netstat -o -n -a | findstr 0.0: 80
Затем откройте диспетчер задач, перейдите в раздел «Процессы», установите флажок «Показать процессы для всех пользователей», а затем нажмите меню «Просмотр» и перейдите в столбцы, добавьте столбец PID.
Сопоставьте идентификатор процесса из команды netstat с идентификатором PID в диспетчере задач, и вы найдете службу или приложение, использующее порт.
источник
tasklist /FI "PID eq <PID from netstat (without brackets)>"
.Как уже говорили другие, что-то еще может использовать порт 80 или 443. Для меня это был VMWare Workstation Server, но проверьте другие ответы о том, как использовать netstat.
источник
netstat
для проверки порта 80 и ничего не показал. Затем вы упомянули порт 443, и вот он.Я думаю, что эта ссылка дает довольно хорошее объяснение и решение этой проблемы http://support.microsoft.com/KB/890015
Большую часть времени; это вызвано одной из двух причин: 1) порт 80 используется чем-то другим, и, как предлагали другие, вы можете использовать netstat -o -n -a | findstr 0.0: 80, чтобы проверить, так ли это. Если да, то завершите процесс из диспетчера задач (отметьте Показать процессы от всех пользователей)
2) если порт 80 не используется, вторая причина - потенциально недопустимый IP-адрес в ListenOnlyList, указанном в разделе реестра HTTP-> Parameters. Если вы перейдете по ссылке, чтобы установить ключ вручную или на самом деле вы можете использовать (xp и server 2003)
httpcfg delete iplisten -i ipaddress
для удаления недопустимого IP-адреса. После редактирования IP-адреса необходимо перезапустить http!источник
В моем случае это была « Sync Share Service » (SyncShareSvc), которая работала и использовала порт 80. Однако netstat показал 80 как свободный. Я мог бы заставить сайт работать на другом порту, но не на 80. Если я добавлю имя хоста, IIS позволит мне запустить сайт, но мне будет предложено ввести дайджест-аутентификацию при просмотре локального хоста (или любого имени хоста, которое я добавлено). В IIS были включены только анонимный доступ и проверка подлинности с помощью форм ...
Я также обнаружил, что после остановки IIS
http://localhost
все еще предлагал мне дайджест-аутентификацию.Решение - в моем случае - было удалить службы файлов и хранилищ> Файлы и службы iSCSI> « Рабочие папки » из установленных служб (требуется перезапуск).
После удаления службы «Рабочие папки» и перезапуска IIS работал должным образом.
источник
В моем случае после установки RD Web Access исходные веб-сайты по умолчанию не запускались. Удалена роль веб-доступа к удаленным рабочим столам. Удаленная привязка порта 443 решила проблему.
источник
В большинстве случаев, когда это происходит веб-разработчиками, причиной является apache, поэтому, если вы перейдете в файл конфигурации из apache! откройте его и выполните поиск с помощью ctrl + f до 80 и измените ip, который вы увидите, на 8080, а предложение ниже от 80 до 8080, и вам нужно настроить это в вашем xampp или программе, которую вы используете в настоящее время
Надеюсь, я помогу вам, ребята
источник
Чтобы получить более значимую информацию, один из способов - также получить информацию о владельце при выпуске,
netstat
чтобы вы знали, какой процесс использует либо 80 (привязка http по умолчанию), либо 443 (если привязка https определена):В моем случае виновником была vmware:
netstat можно передать в find для поиска портов 80 или 443 (например
find ":443"
), но именно эти активные соединения будут отображаться в начале списка, так как их легко увидеть.источник