понедельник, 24 октября 2011 г.

Windows 7 и Denwer (процесс System занимает 80 порт)

Стоял у меня Denwer, пользовался им и вот некоторое время он мне был не нужен до вчерашнего дня. Вчера запускаю Denwer, при переходе на localhost в браузере выбивает ошибку :

Not Found



HTTP Error 404. The requested resource is not found.


Много всего перепробовал, а как оказалось позже проблема оказалась в Службе агента веб-развертывания, при установке какой-то из программ служба установилась и начала работать вместе с ней.
После отключения службы, Denwer снова заработал.
Ниже я опишу возможные методы решения.

1. Сначала смотрим какой процесс занимает наш 80 порт. Для этого нажимаем Ctrl+R и попадаем в окно "Выполнить"
2.Вводим команду cmd и жмем ввод. Перед нами откроется командная строка.
3.В командной строке вводим следующую команду :
netstat -o -n -a | findstr 0.0:80
Перед вами появиться результат выполнения операции.
В последнем столбце находиться идентификатор процесса. Запоминаем его.
4. Открываем диспетчер задач и переходим на вкладку Поцессы. Выбираем вкладку Вид -Выбрать столбцы и выбираем показ Id процесса (PID)
Смотрим какой процесс использует ваш порт. Для этого в колонке PID ищем то число которое у вас было показало в прошлом пункте. У меня это было 4 и процесс System
5. Решение которое помогло мне : Заходим в службы (Win+R, services.msc) Отключаем из автозапуска службы:
— Служба удаленного агента для Microsoft Web Deploy 2.0;
— Служба агента веб-развертывания.
Это компоненты IIS-сервера.

Теперь запускаем Денвер, переходим на Localhost и соответственно, все работает.

Другие варианты решения, если этот не помог :
Вариант 1 : Запускаете Regedit и идем по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP и меняете значение Start на 0
Вариант 2: В службах(Win+R, services.msc) отключаем все IIS если такие присутствуют
Вариант 3: Возможно это вирус, проверьтесь на вирусы и почистите систему.
Вариант4: Отключаем службу http.sys вручную. Заходим в реестр в ветку :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
создаем новый : DWORD (32-бит)
Называем его: NoRun
Дважды щелкаем на него появляются свойства, и вводим значение 1
Перезагружаем компьютер.

18 комментариев:

  1. Единственное что мне помогло наконец-то))) Спасибо огромное)

    ОтветитьУдалить
  2. . Сначала смотрим какой процесс занимает наш 80 порт. Для этого нажимаем Ctrl+R и попадаем в окно "Выполнить"

    Простите но Ctrl+R почему то перезагружает страницу(

    ОтветитьУдалить
    Ответы
    1. Нужно не в браузере, а на рабочем столе нажимать эти клавиши. Или через меню пуск откройте пункт "Выполнить" или сразу командную строку.

      Удалить
    2. Автор видимо ошибся. Окно выполнить вызываеться с помощью комбинации Win+R

      Удалить
  3. У меня порт был занят процессом System, пришлось отключить Службу веб-публикаций и Службу активации Windows и порт 80 осовбодился

    ОтветитьУдалить
  4. У меня симптомы и признаки тоже указали на System, остановил Службу веб-публикаций, перезапустил Денвер и апач включился. Nice!

    ОтветитьУдалить
  5. Приветствую. В случае, если кому-то не помогло все, что было написано выше, вот вам еще один способ:
    1. Win+R вводим “regedit” (без кавычек).
    2. Ищем ветку «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP»
    3. Меняем значение ключа “start” с 3 на 4…до этого встречала советы ставить 0. Так вот мне ноль не помог.
    4. Перезапускаем компьютер.
    5. Радуемся тому, что так быстро нашли нужную информацию.

    ОтветитьУдалить
  6. Этот комментарий был удален автором.

    ОтветитьУдалить
  7. РЕШЕНО!

    Нужно всего лишь перекинуть http.sys c IPv4 на IPv6
    Написал краткую инструкция http://velestor.com/q/port80/
    У меня Windows 10, помог только этот вариант, всем удачи!

    ОтветитьУдалить
  8. этот все херня что вы тут пишите если не разбираетесь в компьютерах-вот человек нормально ответил и решил проблем данную-а вы не пишите сюда если фигню советуете
    Моя история-инструкция написана максимально доступным языком для новичков и тех, у кого возникла такая же trouble))

    Итак, после того, как на Ms Windows 7 (у вас это может произойти и в другой ОС) все было установлено, я запустил Denwer. Установка была стандартной.
    После запуска Run, в трее запускался Apache и приблуда Perl.
    Захожу через IE 8 в localhost и .. ошибка 404. Через несколько минут исчезает из трея Apache (как оказалось позже, процесс запуска localhost и исчезновения из трея никак не связаны).

    Попытки все переустановить по инструкции, проверки настроек IE и Skype, отключение бранмауэров и антивируса также ничем не помогут.

    Начинаю в поисках решения проблемы шарить в сети. Многочисленные попытки отследить, что блокируют порт 80, ни к чему не приводят.

    //Для справки. Запустите CMD (командную строку) от имени Администратора и наберите:
    netstat –ona | findstr 0.0:80
    Справа от надписи Listening указан PID (в моем случае =4)
    Зайдя в Диспетчер задач вкладка Службы смотрим по столбцу ИД процесса наш PID. Оказывается, его блокирует система.
    !НО остановка этой службы приведет к синему экрану, а не решению проблемы. Ищем дальше.

    Наконец, нахожу статью webthing.org/webmaster/18-zapuskaem-denver-osvobozhdaem-port-80.html под названием «Запускаем Denwer, осовбождаем порт 80» (спасибо тому автору). В ней, до этого момента написано тоже самое, но дальше интереснее.

    Автор предлагает зайти в Regedit (редактор реестра) по пути:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\UrlAclInfo
    Здесь мы увидим множество параметров, но среди них в столбце Имя мы можем видеть несколько строк, в которых упомянут наш искомый порт 80 (в моем случае это были Report, ReportServer, Temporary_Listen_Address).
    И тут я понимаю, что виновницей оказалась служба Reporting Services (после установленного до Denwer’а SQL Server’a 2008 R2).
    Дело остается за малым. Правой кнопкой мыши по иконке Мой компьютер запускаем Управление.
    Заходим в Службы и приложения, раскрываем список Службы. Находим нужную нам службу (у меня – SQL Server Reporting Services (MSSQLSERVER). Эта служба у меня оказалась включена и запущена Автоматически. Нажимаем правой клавишей мыши по этой службе и выбираем Свойства.
    Тип запуска выставляем Вручную. И нажимаем Отключить.
    Все. Перезапускаем Denwer и заходим в localhost.
    «УРА! Действительно заработало».

    ОтветитьУдалить
    Ответы
    1. в дополнение к выше сказанному.
      вот такая фигня у меня висела в regedit....
      1. http://+:80/Temporary_Listen_Addresses/
      2. https://+:80/C574AC30-5794-4AEE-B1BB-6651C5315029/
      насколько я понял, 1. управляет иерархией -кому дать, кому не дать при обращении сразу двух (ыыыы....).это где то прописывается , кому интересно, поштудируйте.
      я не стал мудрить, и просто 2. удалил с реестра.
      остался только 1.

      перезагрузил комп. принтер , денвер, и всё остальное работает.

      Удалить
  9. пишут фигню всякую и думают что умнее становятся от этого

    ОтветитьУдалить