GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come risolvere i problemi quando il tuo sito non funziona su un server Linux

Introduzione

A volte potremmo riscontrare problemi quando uno dei nostri server web o siti è inattivo, dovremmo essere in grado di identificare questo problema che probabilmente sta causando i problemi e risolverlo.

In questo articolo, condivideremo alcuni passaggi per la risoluzione dei problemi che sono alcuni dei passaggi comuni eseguiti da un amministratore quando un sito non è accessibile correttamente, puoi fare riferimento a questi passaggi e risolvere il problema in modo da poter aggiornare il tuo sito e in esecuzione.

Prerequisiti

Per risolvere questi problemi, avrai bisogno di:

  • Accesso al server Linux,con un utente sudo.

Passaggio 1:verifica lo stato del server

Prima di procedere con i passaggi citati, per prima cosa dobbiamo verificare se sei in grado di accedere al server stesso. A volte il server stesso potrebbe essersi interrotto. Puoi verificarlo con il comando ping e ssh

ping your_server_ip

Se riesci a eseguire il ping del tuo server e del suo UP, otterrai l'output come di seguito

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:~$ 

Se il tuo server è inattivo, in tal caso non riceverai alcun ping. Puoi controllare la console del tuo server per eventuali errori e riavviare il tuo server tramite Il mio account

Nota:a volte potresti non essere in grado di eseguire il ping del server anche quando il tuo server è attivo e ciò potrebbe essere dovuto alla disattivazione del ping sul tuo server

Dovresti anche essere in grado di eseguire l'SSH e accedere al server per verificare se è attivo e funzionante, puoi accedere al tuo server tramite ssh con il comando seguente

ssh [email protected]

se non riesci ad accedere al tuo server, è probabile che il tuo server sia inattivo o bloccato e controlla la console del tuo server per eventuali errori e riavvia il server tramite il mio account

Fase 2:monitoraggio del tuo server

Un carico elevato del processore o un consumo di memoria elevato possono impedire la risposta del server. Puoi fare riferimento a questo articolo su come monitorare il server E2E tramite Zabbix

Una volta identificate le anomalie nell'utilizzo delle risorse del server, è possibile intraprendere le azioni necessarie di conseguenza per prevenire il problema.

Fase 3:controlla i log

Prima di rintracciare qualsiasi problema, dobbiamo controllare prima i registri del nostro server web e dei relativi componenti. Se abbiamo riscontrato un errore log o qualsiasi log sospetto all'accesso logs, saremo in grado di identificare i problemi con precisione.

I log saranno generalmente presenti nella directory /var/log . se hai un server Apache in esecuzione su un server Ubuntu, per impostazione predefinita i log verranno conservati in /var/log/apache2 . Controlla i file in questa directory per vedere che tipo di messaggi di errore vengono generati. Se stai utilizzando una distribuzione che fa riferimento ad Apache come httpd per impostazione predefinita, i log verranno conservati in

/var/log/httpd.log

Se stai utilizzando Nginx come server web, i log di solito si trovano nella posizione sottostante

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

Controlla i file in questa directory per vedere che tipo di messaggi di errore vengono generati. In alternativa puoi anche controllare i file di configurazione del server web se hai configurato un percorso manuale per i log.

Per controllare gli ultimi log generati dal server, puoi eseguire sotto tail comando come mostrato nell'esempio seguente

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

Puoi anche visualizzare con meno comando per visualizzare i registri completi come di seguito, assicurati di modificare il percorso del file di registro come indicato nel comando seguente.

less /var/log/nginx/access.log

una volta identificato il problema nei registri, puoi facilmente rilevare il problema e risolverlo in modo accroding.

Fase 4:assicurati che il tuo server web sia in esecuzione

Puoi verificare se i tuoi servizi sono attivi e funzionano correttamente. Un metodo per verificare se i servizi sono in esecuzione è il metodo preferito dalla distribuzione è controllare con il comando condiviso di seguito.

Usa stato comando per verificare se il servizio è attivo o meno. Se il servizio non è in esecuzione, puoi avviarlo con avvio di seguito comando

Se stai utilizzando una distribuzione che fa riferimento ad Apache come Apache2, i comandi per utilizzare la funzionalità di apache2 sono i seguenti

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

Se stai usando una distribuzione che fa riferimento ad Apache come httpd, i comandi sono i seguenti:

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

I comandi per utilizzare la funzionalità Nginx sono i seguenti

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

Passaggio 5:verifica della sintassi del server Web

Se il tuo server web non si avvia, significa che potrebbe esserci un problema con il tuo file di configurazione.

Sia Apache che Nginx necessitano della sintassi della direttiva corretta per poter leggere i file. I file di configurazione si trovano come di seguito

Le directory di configurazione predefinite per Apache sono

Distribuzioni Debian e Ubuntu:/etc/apache2/
Fedora, distribuzioni CentOS:/etc/httpd/

Le directory di configurazione per Nginx sono

/etc/nginx/

Ognuno di questi web server ti offre anche la possibilità di controllare la sintassi di configurazione dei tuoi file. Per controllare la sintassi dei tuoi file di configurazione di Apache senza dover riavviare il server, puoi eseguire il seguente comando sui sistemi Debian e Ubuntu

apache2ctl -t
httpd -t

Per controllare la sintassi di configurazione su Nginx, utilizzare il comando seguente

nginx -t

Una volta eseguito il comando precedente, riceverai un messaggio come Sintassi OK o Il test è riuscito ,Ciò significa che non ci sono errori nella configurazione del tuo server web.

Passaggio 6:il back-end del database funziona correttamente

Se hai configurato il tuo sito per la connessione con il back-end di database come MySQL, PostreSQL, MongoDB, ecc. devi assicurarti che sia attivo e funzionante. Puoi farlo controllando il server Web.

Esegui il comando seguente per verificare se il tuo database MySQL/Mongod qualunque sia in esecuzione.

service mysql status
service mysqld status
service mongod status

In alternativa puoi anche verificare con il comando netstat di seguito

netstat -ntlp | grep mysql

Riceverai l'output come di seguito, se il tuo MySQL è attivo e funzionante.

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

Passaggio 7:verifica se il tuo server Web/app è in grado di connettersi al back-end del database

Anche se il server Web e il server del database sono attivi e funzionano correttamente, a volte potremmo riscontrare problemi con la sua connettività poiché la tua applicazione non sarà in grado di connettersi correttamente al database.

Ad esempio, in un sito WordPress, le impostazioni di connessione al database possono essere testate con la configurazione che si trova nel file wp-config.php. Devi verificare che DB_NAME, DB_USER e DB_PASSWORD siano corretti affinché il tuo sito si connetta al database.

Puoi verificare se il file contiene le informazioni corrette provando a connetterti manualmente al database modificando il valore appropriato nel comando seguente

mysql -hDB_Host -uDB_USER -pDB_PASSWORD 

Fase 8:assicurati che le porte siano aperte

Anche se tutta la configurazione e la connettività sono corrette, a volte non è possibile accedere al sito poiché le porte configurate devono essere accessibili. I server Web funzionano sulla porta 80 per il normale traffico Web e utilizzano la porta 443 per il traffico crittografato con SSL.

Puoi controllare se le porte configurate sono aperte con il comando telnet

telnet your_server_ip 80
telnet your_server_ip 443

Otterrai un output come di seguito se le tue porte sono aperte

e2e@compaqlaptop:~$ telnet xx.xx.xx.xx 80
Sto provando xx.xx.xx.xx…
Connesso a xx.xx.xx.xx.
Il carattere di escape è '^]'.

Puoi anche verificare se la tua app/server Web è in grado di connettersi alla porta del database sul back-end. Il server MySQL per impostazione predefinita viene eseguito sulla porta 3306

telnet your_database_server_ip 3306

Se le tue porte web o database non sono accessibili, dovresti guardare la configurazione del tuo firewall. Potrebbe essere necessario aprire rispettivamente la porta 80, la porta 443 o la porta 3306.

Fase 9:verifica dell'impostazione DNS

Devi anche assicurarti che il tuo dominio sia puntato correttamente all'IP del server. Se puoi accedere al sito con l'IP e non con il tuo nome di dominio, potresti dover dare un'occhiata alle tue impostazioni DNS.

Puoi verificare se il tuo sito è indirizzato all'IP corretto con scava sotto comando

dig A example.com +short

Otterrai l'output come di seguito

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

A parte questo, controlla i file dell'host virtuale Apache oi file di blocco del server Nginx per assicurarti che siano configurati per rispondere alle richieste per il tuo dominio.

Conclusione

Ci auguriamo che i suggerimenti per la risoluzione dei problemi sopra menzionati ti abbiano aiutato a rintracciare e risolvere alcuni dei problemi comuni che gli amministratori devono affrontare quando cercano di far funzionare i loro siti. Se riscontri problemi con i passaggi sopra menzionati, sentiti libero di discuterne nei commenti.


Ubuntu
  1. Come risolvere i problemi quando il tuo sito non funziona su un server Linux

  2. Come monitorare il tuo server Linux?

  3. Come installare un ambiente desktop sul tuo server Linux senza testa

  4. Come installare Nextcloud con Docker sul tuo server Linux

  5. Come utilizzare OpenSSH per connettersi al tuo server Linux

Come controllare il carico del server nel sistema Linux

Come controllare il tempo di attività del tuo server Linux

Come SSH nel tuo server Linux da Windows

Come configurare un demone Rsync sul tuo server Linux

Procedura:Utilizzo di lsof – 10 comandi essenziali per risolvere i problemi del server Linux

Come configurare un firewall sul tuo server Linux