GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Häufige Serverprobleme und Lösungen

Eine der häufigsten Verwendungen des Servers im Internet ist das Hosten von Websites . Möglich wird dies durch eine Software, die unter anderem Content http bedient. In diesem Beitrag werde ich einige Tricks erklären, um Probleme in den Webservice-Systemen GNU/Linux zu erkennen und zu beheben. Der Einfachheit halber konzentrieren wir uns auf den am häufigsten verwendeten Apache.

Normalerweise ist die erste Nachricht, wenn es Probleme auf dem Webserver gibt, dass Browser die Inhalte nicht sehen können. Vor dem Betreten des Servers sollte überprüft werden, ob das Problem am DNS liegt und da der Domainname nicht auf die IP unseres Webservers auflöst. Dies kann anhand von Anwendungen wie ping, host, nslookup, dig usw. eingesehen werden, je nachdem, welche wir zur Hand haben.
Wenn wir sicher sind, dass die DNS-Domain funktioniert und auf den ip-Webdienst zeigt, müssen wir als Administratoren dies tun Greifen Sie darauf zu und versuchen Sie, das Problem herauszufinden und zu lösen.

Bevor wir den Lappen betreten, sagen wir als erste Information, dass das http-Protokoll auf Port 80 unseres Servers arbeitet. Dies ist eine wichtige Tatsache, da wir wissen, dass wir leicht Daten über die laufenden Prozesse erhalten können.
Sobald wir drinnen sind, verwenden wir als Erstes den Befehl „netstat“, der eine Liste der auf unserem eingerichteten Ports und Verbindungen anzeigt Server:

Wie gezeigt, zeigt uns die Verwendung zusammen mit dem Befehl „grep“, um nach „LISTEN“ und „80“ zu filtern, ob ein Prozess auf Port 80 lauscht und den Dienst „httpd“ verwendet. Wenn Sie das „| grep LISTEN“-Befehl zeigen wir auch die Verbindungen, die noch in diesem Port aktiv sind, darunter können wir hergestellte Verbindungen finden, wartend wartend oder geschlossen.

Darüber hinaus haben wir auch einen Befehl namens „lsof“, der uns noch mehr Informationen über Benutzer und die Anzahl der laufenden Prozesse anzeigen kann. Dieser Befehl zeigt Informationen über geöffnete Dateien auf dem Linux-System Linux an, da alles über Dateien funktioniert, was für uns sehr nützlich ist. In diesem Fall müssen wir mitteilen, dass offene Dateien im Zusammenhang mit Port 80 angezeigt werden, und wir werden dies tun, indem wir „-i 80“ innerhalb des Systems als Administratorbenutzer angeben:

Dies oben ist eine normale Ausgabe eines Servers, auf dem niemand gehostete Seiten beobachtet. Hier können wir sehen, dass der Benutzer, der den Prozess ausführt, „Apache“ ist, dass es einen Vater und 6 Kinderprozessprozesse gibt, die darauf warten, dass Anfragen kommen, um den Inhalt bereitzustellen. Wenn jemand eine Seite aufruft, auf der er erscheint, erscheint jetzt mehr „LISTEN“, was unter anderem die Quelle der Verbindung anzeigt.

Wenn auf unserem Server mit einem der oben genannten Befehle keine Prozesse auf Port 80 ausgeführt werden, weist dies darauf hin, dass der Webdienst nicht ordnungsgemäß funktioniert und wir ihn daher erneut starten müssen. Dies hängt davon ab, welche Linux-Distribution wir mit einem Namen verwenden, oder andere Distributionen, die auf Redhat und Centos basieren, werden mit „httpd“ und solche, die auf Debian wie Ubuntu basieren, mit „apache2“ erstellt

In unserem Fall verwenden wir httpd, weil es ein Centos ist, und da der Webserver korrekt gebootet wird, würden wir jetzt einfach prüfen, ob Prozesse laufen, und versuchen, die Seiten erneut im Browser anzuzeigen.

In dem Fall, dass nicht bootfähig ist, wird uns möglicherweise eine Fehlermeldung angezeigt, die im Detail analysiert werden muss, um genau festzustellen, was passiert, da es viele Möglichkeiten gibt. Wir sollten uns auch das Fehlerprotokoll ansehen, um festzustellen, ob Sie eine Hinweismeldung hinterlassen haben. Dies kann mit dem cat- oder tail-Befehl oder einem beliebigen Konsolen-Texteditor wie vim oder nano oder emacs erfolgen.

Eine sehr nützliche Anwendung des Obigen ist „tail“, da uns das „-f“ dahinter ermöglicht, die Protokolle in Echtzeit zu sehen, zum Beispiel:

tail -f /var/log/httpd/error_log

Wenn wir es auf einer Konsole laufen lassen und die andere versucht, den Dienst zu starten oder auf den Browser zuzugreifen, können wir Fehler in Echtzeit sehen, was sehr nützlich sein wird.
Manchmal scheint der Webserver hochgefahren zu sein und normal zu funktionieren mit seinen Prozessen zu hören, aber die Websites funktionieren immer noch nicht richtig und zeigen keine Inhalte im Browser an.
In diesen Fällen ist es wichtig, wie oben erwähnt, das Fehlerprotokoll zu überprüfen, das normalerweise angezeigt wird, um zu sehen, was passiert detaillierte Informationen zu den Problemen, die den Betrieb verhindern. Nachdem der Fehler angezeigt wurde, ist es normal, eine Suchmaschine wie Google zu verwenden, um Informationen zu diesem Fehler und eine Möglichkeit, ihn zu beheben, zu verwenden, es sei denn, wir wissen, dass dies der Fall ist. Wenn immer noch keine Meldung erscheint, sollten Sie alle Instanzen des Webservers stoppen und ihn im Debug-Modus starten:

httpd -e DEBUG

Damit sollten wir in der Lage sein, interne Fehler zu sehen, um bei der Lösung zu helfen. In jedem Fall, wenn Sie nach all diesen Schritten Ihren Webserver nicht zum Laufen bringen, empfehlen wir Ihnen, sich an Fachleute zu wenden, die das Problem schnell und effizient lösen können.
Abschließend stellen wir eine Liste der häufigsten vor Fehler, die wir finden können, um die Zeit zu verlieren, einen Webdienst fallen zu lassen, und einige Ideen, wie man sie beheben kann. Fehler, die in das Protokoll aufgenommen werden können, wenn das Problem die Webkonfiguration oder der Code ist, den wir für einen anderen Hintereingang hinterlassen.

1. „make_sock:konnte nicht an Adresse 0.0.0.0:80 binden, keine Listening-Sockets verfügbar“
Wenn dieser Fehler beim Starten des Webdienstes auftritt, ist er wahrscheinlich bereits in Betrieb, da etwas auf Port 80 lauscht Versuchen Sie, es zuerst mit einem „service httpd/apache2 stop“ zu stoppen, aber immer noch datierend der gleiche Fehler sollte den Prozess beenden, der Port 80 belegt, bringen Sie die oben zuerst beschriebene Nummer pid mit dem Befehl lsof oder netstat und verwenden Sie den Befehl „kill - s 9“ PID-Befehl „um es zum Stoppen zu zwingen.

2. „No such file or directory:apache2:Could not open error log file /var/log/apache2/error.log“
Mit diesem Fehler zeigt der Webserver an, dass der Start nicht in das zugewiesene Log schreiben konnte seine Konfiguration, entweder weil der Ordner nicht existiert, weil er die Datei nicht erstellen kann oder weil die Datei existiert, aber Berechtigungen/Benutzer nicht korrekt sind. Um es zu lösen, müssen wir all diese Faktoren analysieren und dem Webserver-Benutzer erlauben, in diese Datei zu schreiben und den Prozess neu zu starten.

3. „Starting httpd:Syntax error on line xxx of /etc/httpd/conf/httpd.conf:DocumentRoot must be a directory“
Manchmal leitet uns der Fehler zu einem genauen Punktkonfigurations-Webdienst weiter. In diesem Fall überprüfen wir die betreffende Konfigurationsdatei und analysieren, ob genau in der angegebenen Zeile Fehler auftreten können. In diesem Fall war der „DocumentRoot“, der das Stammverzeichnis des Webservers ist, nicht zugänglich, ähnlich wie bei der Lösung unter Punkt 2.


Linux
  1. Liste häufiger Fehler (und Lösungen) beim Installieren und Konfigurieren von OpenStack Nova Service

  2. Liste der häufigsten Fehler (und Lösungen) bei der Installation von OpenStack Image Service BLICK

  3. Installieren Sie IIS und konfigurieren Sie eine Website

  4. Beheben Sie Probleme mit dem Windows Server-Netzwerk

  5. Fehlerbehebung bei häufigen NFS-Problemen unter Linux

SSH-Tunneling und Proxying

NIS-Client und -Server

Häufige Windows-Probleme:Aktivierung des Schlüsselverwaltungsservers

Grundlagen der VMware-Virtualisierung – VMware Server und VMware ESXi

Die 20 besten Mailserver-Software und -Lösungen für Linux

Debuggen von iptables und häufigen Firewall-Fallstricken?