Η ιστοσελίδα σου έχει πέσει. Τι να κάνεις στα πρώτα 15 λεπτά.
· 2 λεπτά ανάγνωσης
Λεπτό 1: επιβεβαίωσέ το απέξω
Πριν αγγίξεις οτιδήποτε, μάθε αν η ιστοσελίδα έχει πέσει για όλους ή μόνο για σένα. Ο δικός σου browser, το δίκτυο και η cache DNS λένε ψέματα πιο συχνά απ’ όσο νομίζεις. Τρέξε τον έλεγχο διαθεσιμότητας ιστοσελίδας: φέρνει την ιστοσελίδα από μια ουδέτερη τοποθεσία και σου λέει τον κωδικό κατάστασης, αν το όνομα επιλύεται, αν το πιστοποιητικό είναι έγκυρο και πόσο κράτησε η απάντηση.
- Λειτουργεί απέξω, έχει πέσει για σένα: το πρόβλημα είναι από τη δική σου πλευρά. Φόρτωσε ξανά χωρίς cache (Ctrl+Shift+R), δοκίμασε το κινητό σου χωρίς Wi-Fi, καθάρισε την cache DNS, απενεργοποίησε VPN και επεκτάσεις του browser. Τέλος.
- Έχει πέσει απέξω: συνέχισε. Το αποτέλεσμα περιορίζει ήδη το πρόβλημα, γιατί κάθε είδος αποτυχίας έχει τη δική του υπογραφή.
Λεπτό 2: διάβασε το σφάλμα, κατονομάζει την αιτία
- «Δεν είναι δυνατή η πρόσβαση σε αυτόν τον ιστότοπο», DNS_PROBE_FINISHED_NXDOMAIN: Το domain δεν επιλύεται: ληγμένο domain, εγγραφή που λείπει, αλλαγή nameserver. Οδηγός: DNS_PROBE_FINISHED_NXDOMAIN.
- ERR_CONNECTION_REFUSED: Ο server λειτουργεί, αλλά κανένας web server δεν ακούει. Οδηγός: ERR_CONNECTION_REFUSED.
- Timeout, δεν φορτώνει τίποτα: Ο server είναι σβηστός ή ένα firewall ρίχνει τα πάντα. Δες αυτή τη σελίδα, βήμα 3 παρακάτω.
- «Η σύνδεσή σας δεν είναι ιδιωτική»: Το πιστοποιητικό έληξε ή είναι λάθος. Οδηγός: «Η σύνδεσή σας δεν είναι ιδιωτική».
- 502 Bad Gateway: Ο web server τρέχει, η εφαρμογή πίσω του όχι. Οδηγός: 502 Bad Gateway.
- 503 Service Unavailable: Υπερφόρτωση, λειτουργία συντήρησης ή όριο φιλοξενίας. Οδηγός: 503 Service Unavailable.
- 504 Gateway Timeout: Η εφαρμογή απαντά, αλλά πολύ αργά. Οδηγός: 504 Gateway Timeout.
- 500 Internal Server Error, λευκή σελίδα: Η εφαρμογή κράσαρε: ένα plugin, μια ενημέρωση, μια έκδοση PHP. Δες αυτή τη σελίδα, βήμα 5 παρακάτω.
Λεπτό 3: τι άλλαξε;
Οι διακοπές έχουν αιτίες και η αιτία είναι συνήθως το τελευταίο πράγμα που άλλαξε. Ρώτα τον εαυτό σου, με αυτή τη σειρά: Έληξε σήμερα ένα domain ή ένα πιστοποιητικό; Ενημέρωσα εγώ ή μια αυτόματη διαδικασία κάτι (πυρήνα WordPress, ένα plugin, την PHP, το λειτουργικό σύστημα); Άλλαξα το DNS, το firewall ή ένα αρχείο ρυθμίσεων; Έμεινε απλήρωτο κάποιο τιμολόγιο; Εκτοξεύτηκε η επισκεψιμότητα (ένα newsletter, μια καμπάνια, μια αναφορά κάπου); Αν κάτι από αυτά σου θυμίζει κάτι, ξεκίνα από εκεί.
Λεπτό 5: οι πέντε έλεγχοι, κατά σειρά πιθανότητας
1. Domain και DNS
dig +short example.com A
whois example.com | grep -iE 'expir|status'
Καμία απάντηση ή clientHold: το domain έληξε ή οι εγγραφές έχουν χαθεί. Ανανέωσε στον καταχωρητή ή δημιούργησε ξανά την εγγραφή A. Τίποτα στον server δεν θα βοηθήσει.
2. Πιστοποιητικό
Ο έλεγχος SSL δείχνει λήξη, αλυσίδα και ονόματα σε δευτερόλεπτα. Έχει λήξει: ανανέωσε (sudo certbot renew && sudo systemctl reload nginx) ή εξέδωσέ το ξανά στον πίνακα ελέγχου του παρόχου σου.
3. Λειτουργεί καθόλου ο server;
ping -c 3 example.com
ssh user@example.com
Ping και SSH νεκρά: το μηχάνημα είναι σβηστό, το δίκτυο μπροστά του έχει πέσει ή ο πάροχος έχει βλάβη. Έλεγξε τη σελίδα κατάστασης του παρόχου και την cloud κονσόλα σου (τρέχει το VM; απέτυχε κάποιο τιμολόγιο;). Επανεκκίνησέ το από την κονσόλα αν είναι παγωμένο.
4. Τρέχει ο web server και είναι γεμάτος ο δίσκος;
systemctl status nginx apache2 php8.3-fpm mysql mariadb 2>/dev/null | grep -E 'service|Active'
df -h
free -m
sudo tail -n 30 /var/log/nginx/error.log
Μια υπηρεσία που σταμάτησε: ξεκίνα την και μετά διάβασε το journalctl -u SERVICE -n 50 για να δεις γιατί σταμάτησε. Ένας γεμάτος δίσκος είναι ο συνηθέστερος λόγος που σταματά μια βάση δεδομένων ή η PHP· ελευθέρωσε χώρο (sudo journalctl --vacuum-size=200M, αφαίρεσε παλιά backups και logs) και ξεκίνα ξανά την υπηρεσία. Τρέχε πάντα sudo nginx -t ή sudo apachectl configtest πριν από ένα reload.
5. Η εφαρμογή: ενημέρωση, plugin, PHP
Ένα 500 ή μια λευκή σελίδα αμέσως μετά από μια ενημέρωση είναι η εφαρμογή που αποτυγχάνει σε κάθε αίτημα. Κοίταξε το αρχείο καταγραφής σφαλμάτων PHP ή ενεργοποίησε για λίγο το debugging του WordPress:
// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Μετά διάβασε το wp-content/debug.log. Το μοιραίο σφάλμα κατονομάζει το plugin ή το θέμα· μετονόμασε τον φάκελό του μέσω SFTP ή SSH (wp-content/plugins/name σε name.off) και η ιστοσελίδα επανέρχεται. Με το WP-CLI: wp plugin deactivate name. Αν το σφάλμα αναφέρει μια συνάρτηση PHP που δεν υπάρχει, η έκδοση PHP άλλαξε· γύρνα την πίσω στον πίνακα ελέγχου του παρόχου ή στη ρύθμιση του pool.
Λεπτό 10: ενημέρωσε τον κόσμο
Όσο δουλεύεις, οι πελάτες σου ανανεώνουν τη σελίδα και τα εισερχόμενά σου γεμίζουν. Ένα σύντομο, ήρεμο μήνυμα γλιτώνει μία ώρα απαντήσεων. Βάλε το εκεί που κοιτάζουν: μια σελίδα κατάστασης, το προφίλ στα κοινωνικά δίκτυα, έναν αυτόματο απαντητή.
Η ιστοσελίδα μας δεν είναι διαθέσιμη αυτή τη στιγμή. Το γνωρίζουμε και δουλεύουμε πάνω σε αυτό. Οι παραγγελίες και τα μηνύματα δεν χάνονται. Θα δημοσιεύσουμε ενημέρωση εδώ μόλις επανέλθει. Ευχαριστούμε για την υπομονή σας.
Μια σελίδα κατάστασης που ενημερώνεται μόνη της από τα monitors σου το κάνει αυτό για σένα, εκ των προτέρων.
Λεπτό 12: όταν φταίει ο πάροχός σου
Σε shared hosting, τα περισσότερα από τα παραπάνω βήματα δεν είναι δικά σου να τα κάνεις. Αν ο έλεγχος απέξω λέει ότι έχει πέσει, ο λογαριασμός σου δεν δείχνει κανένα όριο και τίποτα δεν άλλαξε από τη δική σου πλευρά, πρέπει να ενεργήσει ο πάροχος. Στείλε του κάτι με το οποίο μπορεί να δουλέψει:
Γεια σας, η ιστοσελίδα μου example.com έχει πέσει από περίπου τις 14:30 UTC. Ένας εξωτερικός έλεγχος αναφέρει: connection timed out (ή: 502 Bad Gateway / ληγμένο πιστοποιητικό / δεν επιλύεται). Δεν έχω αλλάξει τίποτα στον λογαριασμό μου. Μπορείτε να ελέγξετε τον server και να με ενημερώσετε όταν επανέλθει και ποια ήταν η αιτία;
Συμπεριέλαβε την ώρα, το ακριβές σφάλμα και το γεγονός ότι έλεγξες απέξω. Ένα ticket με αυτά τα τρία αντιμετωπίζεται σε έναν γύρο.
Λεπτό 15: φρόντισε να επισκευαστεί και να το ξέρεις πρώτος την επόμενη φορά
Αν διαχειρίζεσαι δικό σου server, ή ένα webspace με πρόσβαση SSH, δεν χρειάζεται να κάνεις μόνος σου τα παραπάνω βήματα. Ένα Quick Fix αναλαμβάνει τις συνηθισμένες αιτίες σε σταθερή τιμή: επανεκκινεί μια υπηρεσία που σταμάτησε αφού περάσει ο έλεγχος των ρυθμίσεών της, ελευθερώνει έναν γεμάτο δίσκο, ανανεώνει ένα πιστοποιητικό που έληξε. Αν αυτό δεν αρκεί, αναλαμβάνει ένα Deep Fix όλο το εικοσιτετράωρο, με χρέωση σε τμήματα των 15 λεπτών, με την τιμή να εμφανίζεται πριν παραγγείλεις. Και όπως κι αν τελειώσει η διακοπή: η παρακολούθηση ιστοσελίδων ελέγχει την ιστοσελίδα σου κάθε 5 λεπτά στο δωρεάν πρόγραμμα και σε ειδοποιεί με email και μέσω της εφαρμογής, ώστε την επόμενη φορά να το ξέρεις πριν από τους πελάτες σου.
Τι κάνεις τώρα
Έλεγξέ το απ’ έξω
Έχει πέσει η ιστοσελίδα για όλους ή μόνο για σένα, και τι απαντά ο server; Δωρεάν, χωρίς εγγραφή.
Έλεγχος διαθεσιμότητας ιστοσελίδαςΈπεσε; Αναλαμβάνουμε.
Στον δικό σου server ή σε webspace με πρόσβαση SSH: ένα Quick Fix σε σταθερή τιμή για τις συνηθισμένες αιτίες, ένα Deep Fix με χρέωση σε τμήματα των 15 λεπτών για τις υπόλοιπες, όλο το εικοσιτετράωρο. Τιμή πριν παραγγείλεις.
Ζήτησε επισκευήΠερισσότεροι οδηγοί
- Έπεσε ο server: τι να ελέγξεις πρώτα και με ποια σειρά
- 502 Bad Gateway: αιτίες και πώς να το διορθώσεις
- 503 Service Unavailable: υπερφόρτωση ή συντήρηση;
- 504 Gateway Timeout: τι σημαίνει και πώς να το διορθώσεις
- DNS_PROBE_FINISHED_NXDOMAIN: αιτίες και λύσεις
- ERR_CONNECTION_REFUSED: αιτίες και πώς να το διορθώσεις
- «Η σύνδεσή σας δεν είναι ιδιωτική»: η προειδοποίηση για το πιστοποιητικό SSL