Преуспела установка, но не могла запустить apache 2.4 в моей системе Windows 7 - программирование
Подтвердить что ты не робот

Преуспела установка, но не могла запустить apache 2.4 в моей системе Windows 7

Я пытаюсь установить и запустить apache 2.4 в моей системе Windows 7 Я пошел в каталог bin apache 2.4 и выполнил следующее: Примечание. Я открыл окно cmd как администратор. C:\Apache24\bin > httpd.exe -k install

Его вывод был следующим:

Installing the Apache2.4 service
The Apache2.4 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions.  : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open log

Таким образом, он установил apache 2.4 в качестве службы, но его не удалось запустить. Похоже, что используется порт localhost 80. Это то, что "[::]: 80" означает?

Затем я остановил обе службы apache 2.0, которые у меня остались, и службу mysql, надеясь, что остановка одного из них может освободить локальный порт 80.

Я также запускаю netstat -o, чтобы увидеть, используется ли порт 80. Это не так.

Но я тогда обнаружил, что процесс использовал вышеупомянутый сокет, это процесс, который прослушивает указанный выше сокет

 TCP    [::]:80                User-PC:0              LISTENING       4

Затем я запустил список задач и выяснил, что система использует pid 4. 4 находится под столбцом pid

System                           4 Services                   0        544 K

Наконец, из неудавшейся попытки запустить службу Я получил ошибку, которая была записана в событиях систем Windows.

Log Name:      System
Source:        Service Control Manager
Date:          2/21/2013 1:58:03 PM
Event ID:      7024
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      User-PC
Description:
The Apache2.4 service terminated with service-specific error Incorrect function.

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Service Control Manager" Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control Manager" />
    <EventID Qualifiers="49152">7024</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8080000000000000</Keywords>
    <TimeCreated SystemTime="2013-02-21T18:58:03.723988900Z" />
    <EventRecordID>87756</EventRecordID>
    <Correlation />
    <Execution ProcessID="560" ThreadID="7596" />
    <Channel>System</Channel>
    <Computer>User-PC</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="param1">Apache2.4</Data>
    <Data Name="param2">%%1</Data>
  </EventData>
</Event>

Ошибка при попытке запуска говорит о том, что из-за отсутствия доступа make-sock не может привязываться к сокетам, которые для меня выглядели как porthost 80. Например,

  (OS 10013)An attempt was made to access a socket in a way forbidden by its acces
    s permissions.  : AH00072: make_sock: could not bind to address [::]:80

Кто-нибудь может сказать, что я делаю неправильно?

4b9b3361

Ответ 1

Извините за нерешительный вопрос. Чтобы решить мою проблему, я просто попросил apache 2.4 прослушать другой порт в httpd.conf. Поскольку система использовала pid 4, который слушал порт 80, я больше не хотел исследовать это.

Я поместил следующее в httpd.conf. Слушайте 127.0.0.1:122

Ответ 2

Наиболее вероятным виновником является Microsoft Internet Information Server. Вы можете остановить службу из командной строки в Windows 7/Vista:

net stop был /y

или XP:

net stop iisadmin/y

прочитайте это http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

Ответ 3

У меня такая же проблема, после обновления win7 до win10. затем я проверяю services.msc и обнаружил, что " Служба публикации веб-сайтов" автоматически запускалась по умолчанию. Итак, я отключил его и снова запустил службу Apache.

Ответ 4

Port 80 maybe used by Microsoft HTTPAPI

Try to stop the following service:
  Web Deployment Agent Service
  SQL Server Reporting Service
  SQL Server VSS Writer

Ответ 5

Я решил эту проблему, наконец, из-за того, что некоторые системы, такие как skype и системные процессы, принимают этот порт 80, вы можете выполнить проверку с помощью netstat -ao для порта 80

Просьба найти следующие шаги

  • После установки вашего Apache HTTP перейдите в папку bin, используя cmd

  • Установите его как службу, используя httpd.exe -k install, даже если вы видите ошибку, не обращая внимания.

  • Теперь убедитесь, что служба установлена ​​(даже если она не запущена) в соответствии с вашим os

  • Перезагрузите систему, и вы обнаружите, что служба Apache будет первой, кто возьмет порт 80,

Поздравляем, проблема решена.

Ответ 6

если вы используете windows os и считаете, что skype не является подозреваемым, тогда вы можете проверить диспетчер задач и проверить "Показать процессы от всех пользователей" и убедиться, что для httpd.exe нет записи. В противном случае завершите его процесс. Это решает мою проблему.

Ответ 7

Итак, вот почему я делаю два (или более) сообщения.

У меня была такая же проблема при запуске службы (журналы не могут быть открыты).

Я подумал, что это потому, что я пытался использовать htdocs внутри контейнера с энкодером VeraCrypt, абсурдно, так как у меня есть такой содержащийся, и я использую juntion, чтобы не влиять на пути.

Я читаю, что причина может быть низкой: после некоторых тестов я перехожу к следующему выводу.

Windows не отправляет страницы на виртуальный ram, чтобы освободить достаточно бара, если это сервис, для приложений, которые он делает, у меня есть более 200GiB файла подкачки, готового к использованию в качестве виртуального бара в 4-битных 64-битных окнах 10.

Мое решение:

  • Запустите бесплатную утилиту, свободную от RAM (512MiB в моем тесте)
  • Вслед за запуском службы он начинается без ошибок

Реальная причина:

  • Я использовал виртуальную машину, которая использует 1/2 физического свободного барана (1.5GiB)

Надеюсь, что это поможет другим.

Ответ 8

Я также столкнулся с той же проблемой, после чего я попытался перезапустить свою систему после каждого изменения, и это сработало для меня - 1) Удалите Apache2.4 в командной строке cmd (запустите администратора) с помощью команды: httpd -k удалить 2) Перезапустите систему. 3) откройте команду cmd (запустите администратор) с помощью команды: httpd -k install. 4) Затем httpd -k install.

Надеюсь, что вы сочтете полезным.

Ответ 9

ты можешь решить это

sudo nano /etc/apache2/ports.conf

и изменил Listen to 8080

Ответ 10

В моем случае это было связано с IP-адресом, который слушает Apache. Ранее я установил его на 192.168.10.6, а недавно служба Apache не работает. Я заметил, что из-за моего ноутбука Wi-Fi недавно изменился, и новый IP отличается. После исправления IP-адреса Wi-Fi к предыдущему IP-адресу ноутбука служба Apache снова работает без каких-либо ошибок.

Также, если вы не хотите менять IP-адрес Wi-Fi, удалите/прокомментируйте этот IP-адрес в файле httpd.conf, чтобы разрешить конфликт.

Ответ 11

Это может быть из-за нехватки физической памяти.

Проверьте минимальные системные требования в документах и ​​попытайтесь закрыть ненужные программы, если это возможно.