Я установил последнюю версию nginx на widows 7 enterprise. получил ошибку «nginx: [emerg] bind () to 0.0.0.0:80 не удалось (10013: была сделана попытка получить доступ к сокету способом, запрещенным его правами доступа)».
Инструменты TCPView показали, что pid 4 SYSTEM прослушивает порт 80. Как определить, какая служба работает как SYSTEM, как pid 4? Если я захожу в браузер с localhost, я получаю сообщение HTTP 404.
Никакая служба не работает как PID 4. PID 4 всегда system process
Сам в Windows драйвер ядра http.sys (работающий внутри PID 4) обычно заботится обо всем HTTP-трафике, а службы и приложения могут регистрировать IP-адреса и URL-адреса для пересылки им.
Выполните следующую команду:
netsh http show servicestate
или, если вывод слишком длинный, трубка:
netsh http show servicestate > %temp%\httpservicestate.txt
вы можете видеть зарегистрированные URL-адреса или IP-адреса в выводе, а также идентификаторы процессов или Controller process IDs
, сравните эти идентификаторы со списком запущенных процессов, чтобы найти процессы, использующие http.sys
Если вы щелкните правой кнопкой мыши пустое место на панели задач и выберите «Запустить диспетчер задач», затем перейдите на вкладку служб, вы увидите все службы, доступные / запущенные / остановленные в настоящее время на вашем компьютере, перечисленные с PID, которые вероятно покажет вам, какой из них 4.
Другая идея, которую я имею в виду, заключается в том, что у вас, вероятно, установлен Skype, он поставляется с "чем-то" (извините за отсутствие деталей, я никогда не смотрел, в чем его цель), которое привязано к порту 80 и запускается автоматически по умолчанию параметры Skype позволяют отключить его и освободить порт.