GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Fehlerbehebung Wenn Ihre Website auf einem Linux-Server nicht verfügbar ist

Einführung

Manchmal treten Probleme auf, wenn einer unserer Webserver oder Websites ausfällt. Wir sollten in der Lage sein, dieses Problem zu identifizieren, das wahrscheinlich die Probleme verursacht, und das Problem zu beheben.

In diesem Artikel teilen wir Ihnen einige Schritte zur Fehlerbehebung mit, die einige der häufigsten Schritte sind, die von einem Administrator ausgeführt werden, wenn auf eine Website nicht korrekt zugegriffen werden kann. Sie können sich auf diese Schritte beziehen und das Problem beheben, damit Sie Ihre Website in Betrieb nehmen können läuft.

Voraussetzungen

Um dieses Problem zu beheben, benötigen Sie:

  • Zugriff auf den Linux-Server mit einem sudo-Benutzer.

Schritt 1:Überprüfen Sie den Serverstatus

Bevor Sie mit den genannten Schritten fortfahren, müssen wir zunächst prüfen, ob Sie auf den Server selbst zugreifen können. Manchmal ist der Server selbst ausgefallen. Sie können dies mit dem Befehl ping und ssh überprüfen

ping your_server_ip

Wenn Sie Ihren Server und sein UP anpingen können, erhalten Sie die Ausgabe wie unten

e2e@compaqlaptop:~$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=18.0 ms

64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=20.1 ms

64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=21.3 ms

^C

--- 8.8.8.8 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2002ms

rtt min/avg/max/mdev = 18.042/19.837/21.342/1.362 ms

e2e@compaqlaptop:~$ 

Wenn Ihr Server heruntergefahren ist, erhalten Sie in diesem Fall keinen Ping. Sie können Ihre Serverkonsole auf Fehler überprüfen und Ihren Server über Myaccount neu starten

Hinweis:Sie können den Server manchmal nicht anpingen, selbst wenn Ihr Server UP ist, und dies kann daran liegen, dass Ping auf Ihrem Server deaktiviert ist

Sie sollten auch in der Lage sein, SSH zu verwenden und sich beim Server anzumelden, um zu überprüfen, ob er läuft und ordnungsgemäß funktioniert. Sie können mit dem folgenden Befehl über ssh auf Ihren Server zugreifen

ssh [email protected]

Wenn Sie sich nicht bei Ihrem Server anmelden können, besteht die Möglichkeit, dass Ihr Server ausgefallen oder hängend ist und überprüfen Sie Ihre Serverkonsole auf Fehler und starten Sie Ihren Server über Myaccount neu

Schritt 2:Überwachung Ihres Servers

Eine hohe Prozessorlast oder Speicherverbrauch kann dazu führen, dass Ihr Server nicht mehr reagiert. In diesem Artikel erfahren Sie, wie Sie E2E-Server über Zabbix überwachen

Sobald Sie die Anomalien bei der Nutzung Ihrer Serverressourcen identifiziert haben, können Sie die erforderlichen Maßnahmen ergreifen, um das Problem zu vermeiden.

Schritt 3:Überprüfen Sie die Protokolle

Bevor wir eines der Probleme aufspüren, müssen wir zuerst die Protokolle unseres Webservers und der zugehörigen Komponenten überprüfen. Wenn wir einen Fehler gefunden haben Protokolle oder verdächtige Protokolle zum Zugriff logs, können wir die Probleme genau identifizieren.

Die Protokolle befinden sich normalerweise im Verzeichnis /var/log . Wenn Sie einen Apache-Server auf einem Ubuntu-Server ausführen, werden die Protokolle standardmäßig in /var/log/apache2 gespeichert . Überprüfen Sie die Dateien in diesem Verzeichnis, um zu sehen, welche Art von Fehlermeldungen generiert werden. Wenn Sie eine Distribution verwenden, die standardmäßig auf Apache als httpd verweist, werden die Protokolle unter

gespeichert

/var/log/httpd.log

Wenn Sie Nginx als Webserver verwenden, befinden sich die Protokolle normalerweise an der folgenden Stelle

/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/nginx/nginx_error.log
/var/log/nginx/access_error.log

Überprüfen Sie die Dateien in diesem Verzeichnis, um zu sehen, welche Art von Fehlermeldungen generiert werden. Alternativ können Sie auch die Konfigurationsdateien des Webservers überprüfen, wenn Sie einen manuellen Pfad für Protokolle konfiguriert haben.

Um die neuesten vom Server generierten Protokolle zu überprüfen, können Sie tail ausführen Befehl, wie im folgenden Beispiel gezeigt

tail -f /var/log/nginx/access.log
tail -f /var/log/httpd.log

Sie können auch mit weniger anzeigen Befehl, um vollständige Protokolle wie unten anzuzeigen. Stellen Sie sicher, dass Sie den Protokolldateipfad gemäß Ihrem im folgenden Befehl ändern.

less /var/log/nginx/access.log

Sobald Sie das Problem anhand der Protokolle identifiziert haben, können Sie das Problem leicht erkennen und entsprechend beheben.

Schritt 4 :Stellen Sie sicher, dass Ihr Webserver läuft

Sie können überprüfen, ob Ihre Dienste ordnungsgemäß ausgeführt werden. Eine Methode zum Überprüfen, ob die Dienste ausgeführt werden, ist die bevorzugte Methode der Distribution, indem Sie mit dem folgenden freigegebenen Befehl überprüfen.

Verwenden Sie den Status Befehl, um zu überprüfen, ob der Dienst aktiv ist oder nicht. Wenn der Dienst nicht läuft, können Sie ihn unten mit start starten Befehl

Wenn Sie eine Distribution verwenden, die Apache als Apache2 bezeichnet, finden Sie die folgenden Befehle zur Verwendung der Apache2-Funktionalität

service apache2 start
service apache2 stop
service apache2 restart
service apache2 reload
service apache2 status

Wenn Sie eine Distribution verwenden, die auf Apache als httpd verweist, lauten die Befehle wie folgt:

service httpd start
service httpd stop
service httpd restart
service httpd reload
service httpd status

Die Befehle zur Verwendung der Nginx-Funktionalität sind wie folgt

service nginx start
service nginx stop
service nginx restart
service nginx reload
service nginx status

Schritt 5:Überprüfung der Syntax des Webservers

Wenn Ihr Webserver nicht startet, bedeutet dies, dass möglicherweise ein Problem mit Ihrer Konfigurationsdatei vorliegt.

Sowohl Apache als auch Nginx benötigen eine korrekte Direktivensyntax, damit die Dateien gelesen werden können. Die Konfigurationsdateien befinden sich wie folgt

Standardkonfigurationsverzeichnisse für Apache sind

Debian- und Ubuntu-Distributionen:/etc/apache2/
Fedora, CentOS-Distributionen:/etc/httpd/

Konfigurationsverzeichnisse für Nginx ist

/etc/nginx/

Jeder dieser Webserver bietet Ihnen auch die Möglichkeit, die Konfigurationssyntax Ihrer Dateien zu überprüfen. Um die Syntax Ihrer Apache-Konfigurationsdateien zu überprüfen, ohne den Server neu starten zu müssen, können Sie den folgenden Befehl auf Debian- und Ubuntu-Systemen ausführen

apache2ctl -t
httpd -t

Um die Konfigurationssyntax auf Nginx zu überprüfen, verwenden Sie den folgenden Befehl

nginx -t

Sobald Sie den obigen Befehl ausführen, erhalten Sie eine Nachricht wie Syntax OK oder Test erfolgreich ,Das bedeutet, dass bei Ihrer Webserverkonfiguration kein Fehler vorliegt. Wenn Sie eine Meldung wie „Test fehlgeschlagen“ erhalten, gibt es ein ungültiges Argument, das in der Konfigurationsdatei angegeben ist und bearbeitet werden muss.

Schritt 6:Läuft Ihr Datenbank-Backend einwandfrei

Wenn Sie Ihre Website so konfiguriert haben, dass sie sich mit einem Datenbank-Back-End wie MySQL, PostreSQL, MongoDB usw. verbindet, müssen Sie sicherstellen, dass sie betriebsbereit ist. Sie können dies tun, während Sie nach einem Webserver suchen.

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Ihre Datenbank MySQL/Mongod ist, je nachdem, welche Sie ausführen.

service mysql status
service mysqld status
service mongod status

Alternativ können Sie dies auch mit dem folgenden netstat-Befehl

überprüfen
netstat -ntlp | grep mysql

Sie erhalten die folgende Ausgabe, wenn Ihr MySQL betriebsbereit ist.

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3356/mysqld

Schritt 7:Überprüfen Sie, ob Ihr Web-/App-Server eine Verbindung herstellen kann zum Datenbank-Backend

Auch wenn Ihr Webserver und Ihr Datenbankserver betriebsbereit sind und gut laufen, können wir manchmal Probleme mit der Konnektivität haben, da Ihre Anwendung keine erfolgreiche Verbindung zur Datenbank herstellen kann.

Beispielsweise können auf einer WordPress-Site die Datenbankverbindungseinstellungen mit der Konfiguration in der Datei wp-config.php getestet werden. Sie müssen überprüfen, ob DB_NAME, DB_USER und DB_PASSWORD korrekt sind, damit sich Ihre Website mit der Datenbank verbinden kann.

Sie können testen, ob die Datei die richtigen Informationen enthält, indem Sie versuchen, sich manuell mit der Datenbank zu verbinden, indem Sie den entsprechenden Wert im folgenden Befehl ändern

mysql -hDB_Host -uDB_USER -pDB_PASSWORD 

Schritt 8:Stellen Sie sicher, dass die Ports geöffnet sind

Selbst wenn alle Konfigurationen und Konnektivitäten richtig sind, können Sie manchmal nicht auf die Site zugreifen, da die konfigurierten Ports zugänglich sein müssen. Webserver laufen auf Port 80 für normalen Webverkehr und verwenden Port 443 für mit SSL verschlüsselten Verkehr.

Mit dem Telnet-Befehl

können Sie überprüfen, ob die konfigurierten Ports geöffnet sind
telnet your_server_ip 80
telnet your_server_ip 443

Sie erhalten eine Ausgabe wie unten, wenn Ihre Ports offen sind

e2e@compaqlaptop:~$ telnet xx.xx.xx.xx 80
Versuche xx.xx.xx.xx…
Verbunden mit xx.xx.xx.xx.
Das Escape-Zeichen ist „^]“.

Sie können auch überprüfen, ob Ihr App/Web-Server eine Verbindung zu Ihrem Datenbankport am Back-End herstellen kann. Der MySQL-Server wird standardmäßig auf Port 3306 ausgeführt

telnet your_database_server_ip 3306

Wenn Ihre Webports oder Datenbankports nicht zugänglich sind, sollten Sie sich Ihre Firewall-Konfiguration ansehen. Möglicherweise müssen Sie Port 80, Port 443 bzw. Port 3306 öffnen.

Schritt 9:Überprüfen der DNS-Einstellung

Sie müssen auch sicherstellen, dass Ihre Domain korrekt auf die Server-IP verweist. Wenn Sie mit der IP und nicht mit Ihrem Domainnamen auf die Site zugreifen können, müssen Sie möglicherweise Ihre DNS-Einstellungen überprüfen.

Mit dig können Sie überprüfen, ob Ihre Website auf die richtige IP verweist Befehl

dig A example.com +short

Sie erhalten die folgende Ausgabe

e2e@compaqlaptop:~$ dig A example.com +short
xx.xx.xx.xx
e2e@compaqlaptop:~$

Überprüfen Sie außerdem Ihre virtuellen Apache-Hostdateien oder die Blockdateien des Nginx-Servers, um sicherzustellen, dass sie so konfiguriert sind, dass sie auf Anfragen für Ihre Domain reagieren.

Schlussfolgerung

Wir hoffen, dass die oben genannten Tipps zur Fehlerbehebung Ihnen geholfen haben, einige der häufigsten Probleme aufzuspüren und zu beheben, mit denen Administratoren konfrontiert sind, wenn sie versuchen, ihre Websites zum Laufen zu bringen sie in den Kommentaren.


Cent OS
  1. Fehlerbehebung Wenn Ihre Website auf einem Linux-Server nicht verfügbar ist

  2. So blockieren Sie die IP-Adresse auf einem Linux-Server

  3. Fehlerbehebung Wenn Ihre Website auf einem Linux-Server nicht verfügbar ist

  4. So installieren Sie eine Desktop-Umgebung auf Ihrem Headless-Linux-Server

  5. So installieren Sie Nextcloud mit Docker auf Ihrem Linux-Server

So überprüfen Sie Ihre Serverlast im Linux-System

So überprüfen Sie die Betriebszeit Ihres Linux-Servers

Wie Sie von Windows aus SSH in Ihren Linux-Server einbinden

So richten Sie einen Rsync-Daemon auf Ihrem Linux-Server ein

Gewusst wie:Verwenden von lsof – 10 grundlegende Befehle zur Fehlerbehebung auf Ihrem Linux-Server

So richten Sie eine Firewall auf Ihrem Linux-Server ein