it-swarm.com.de

Installation erfolgreich, aber Apache 2.4 konnte auf meinem Windows 7-System nicht gestartet werden

Ich versuche, Apache 2.4 auf meinem Windows 7-System zu installieren und auszuführen Ich ging in das bin-Verzeichnis von Apache 2.4 und führte Folgendes aus: __. Hinweis: Ich habe das Cmd-Fenster als Administrator geöffnet C:\Apache24\bin> httpd.exe -k installieren

Ihre Ausgabe war wie folgt: 

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

Es wurde also Apache 2.4 als Dienst installiert, konnte jedoch nicht gestartet werden. Es scheint, als würde der localhost-Port 80 verwendet. Ist das, was "[::]: 80" bedeutet?

Dann habe ich sowohl den Apache 2.0-Dienst, den ich ausgeführt hatte, als auch den Mysql-Dienst angehalten, in der Hoffnung, dass einer von ihnen den localhost-Port 80 freigibt.

Ich führe auch netstat -o aus, um zu sehen, ob Port 80 verwendet wird. Es war nicht.

Ich habe dann jedoch herausgefunden, dass ein Prozess den obigen Socket verwendet hat. Er ist ein Prozess, der den obigen Socket überwacht

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

Ich lief dann die Tasklist und fand heraus, dass das System PID 4 verwendet. 4 befindet sich unter der PID-Spalte

System                           4 Services                   0        544 K

Nach dem fehlgeschlagenen Versuch, den Dienst zu starten, erhielt ich einen Fehler, der in Windows-Systemereignissen aufgezeichnet wurde.

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>

Der Fehler beim Startversuch besagt, dass sich make-sock aufgrund fehlenden Zugriffs nicht an Sockets binden kann, die für mich wie localhost port 80 aussahen. Zum Beispiel

  (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

Kann jemand sagen, was ich falsch mache? 

23
Joe

Entschuldigung für die nachstehende Frage. Um mein Problem zu lösen, habe ich gerade Apache 2.4 angewiesen, einen anderen Port in httpd.conf anzuhören. Da System pid 4 verwendete und Port 80 abhörte, wollte ich dies nicht weiter untersuchen.

Ich habe Folgendes in httpd.conf ..__ eingefügt: Hören Sie 127.0.0.1:122

19
Joe

Der wahrscheinlichste Schuldige ist Microsoft Internet Information Server. Sie können den Dienst unter Windows 7/Vista über die Befehlszeile anhalten:

net stop war/y

oder XP:

net stop iisadmin/y

lesen Sie diese http://www.sitepoint.com/unblock-port-80-on-windows-run-Apache/

15

Ich habe das gleiche Problem auch nach dem Upgrade von win7 auf win10 . Dann überprüfe ich services.msc und habe festgestellt, dass " World Wide Web Publishing Service " standardmäßig automatisch ausgeführt. und den Apache-Dienst erneut ausführen.

6
projo
 Port 80 möglicherweise von Microsoft HTTPAPI verwendet. Web Deployment Agent-Dienst 
 SQL Server-Berichterstellungsdienst 
 SQL Server VSS Writer 
5
Gary Liu

Ich habe dieses Problem endlich gelöst, da einige Systeme wie Skype und Systemprozesse diesen Port 80 einnehmen, können Sie mit netstat -ao für Port 80 überprüfen

Bitte finden Sie die folgenden Schritte

  1. Nachdem Sie Ihren Apache HTTP installiert haben, gehen Sie mit cmd in den Ordner bin 

  2. Installieren Sie es als Dienst mit httpd.exe -k install, auch wenn der Fehler angezeigt wird 

  3. Stellen Sie jetzt sicher, dass der Dienst gemäß Ihrem Betriebssystem installiert ist (auch wenn er nicht gestartet ist) 

  4. Starten Sie das System neu, dann werden Sie feststellen, dass der Apache-Dienst der erste ist, der den 80-Port verwendet. 

Glückwunsch, das Problem ist gelöst.

2
emad omara

Deshalb mache ich zwei (oder mehr) Posten.

Ich hatte das gleiche Problem beim Starten des Dienstes (Protokolle können nicht geöffnet werden).

Ich dachte, es wäre so, weil ich versuchte, htdocs in einem verstellten Container von VeraCrypt zu haben, absurd, da ich solche Container eingehängt habe und ich eine Junction benutze, um Pfade nicht zu beeinflussen.

Ich habe gelesen, die Ursache könnte ein niedriger RAM sein: Nach einigen Tests komme ich zum nächsten Ergebnis.

Windows sendet keine Seiten an den virtuellen RAM, um genügend RAM zu erhalten, wenn dies ein Dienst ist. Für Anwendungen, die es tut, stehen mehr als 200 GB Seitenfile zur Verfügung, die als virtueller RAM in einem 4-GB-64-Bit-Fenster 10 verwendet werden können.

Meine Lösung:

  1. Führen Sie ein kostenloses Dienstprogramm aus, das freien RAM (512 MB in meinem Test) enthält.
  2. Unmittelbar nach dem Start des Dienstes beginnt der Dienst fehlerfrei

Wirkliche Ursache:

  • Ich habe eine virtuelle Maschine verwendet, die 1/2 physischen freien RAM (1,5 GB) verwendet.

Hoffe, das hilft anderen.

1
Anonymous

wenn Sie Windows OS verwenden und davon ausgehen, dass Skype nicht der Verdächtige ist, sollten Sie den Task-Manager und die "Prozesse aller Benutzer anzeigen" überprüfen und sicherstellen, dass KEIN Eintrag für httpd.exe vorhanden ist. Andernfalls beenden Sie den Prozess. Das löst mein Problem.

1
Aldee

du kannst es lösen

Sudo nano /etc/Apache2/ports.conf

und geändert Hören Sie zu 8080

In meinem Fall lag es an einer IP-Adresse, die Apache abhört. Zuvor habe ich es auf 192.168.10.6 gesetzt und kürzlich wird der Apache-Dienst nicht ausgeführt. Mir ist aufgefallen, dass sich aufgrund meines Laptops WLAN kürzlich geändert hat und die neue IP anders ist. Nachdem die WLAN-IP auf die vorherige IP des Laptops festgelegt wurde, wird der Apache-Dienst wieder fehlerfrei ausgeführt.

Auch wenn Sie die WLAN-IP nicht ändern möchten, entfernen/kommentieren Sie diese Hardcode-IP in der Datei httpd.conf, um den Konflikt zu lösen.

0
Jamil Ahmed

Ich stand auch vor dem gleichen Problem, dann versuchte ich, das System nach jeder Änderung neu zu starten, und es funktionierte für mich - 1) Deinstallieren Sie Apache2.4 in der Eingabeaufforderung (Administrator ausführen) mit dem Befehl: 2) Starten Sie das System neu . 3) Öffnen Sie die Eingabeaufforderung (Administrator ausführen) mit dem Befehl: Httpd -k install . 4) Dann httpd -k install.

Ich hoffe, Sie finden nützlich.

0
Sabbha Mondal