Palvelin alhaalla: mitä tarkistaa ensin ja missä järjestyksessä
· 5 min lukuaika
Tämä opas koskee palvelinta itseään: VPS-, dedikoitua tai pilvipalvelinta, jota ylläpidät. Jos yksittäinen verkkosivusto kaatuu ja kaikki muu koneella toimii tai sivustosi on jaetussa hostingissa, aloita sen sijaan oppaasta Verkkosivusto alhaalla: mitä tehdä. Tässä katsotaan konetta: vastaako se lainkaan, pääsetkö sisään ja mikä pysähtyi.
Vaihe 1: mikä tarkalleen on alhaalla?
”Palvelin on alhaalla” voi tarkoittaa kolmea hyvin erilaista asiaa, ja jokaisella on oma korjauksensa. Selvitä ensin ulkoa, verkosta, joka ei ole sinun. Palvelimella oleville verkkosivustoille sivuston saatavuuden tarkistin kertoo sekunneissa, selviääkö nimi osoitteeksi, vastaako portti ja mikä tilakoodi palautuu. Koneelle käytä pingiä ja porttitestiä omalta tietokoneeltasi:
ping -c 3 203.0.113.10
nc -zv -w 5 203.0.113.10 22
nc -zv -w 5 203.0.113.10 443
Lue tulokset yhdessä:
- Ei pingiä, ei SSH:ta, ei verkkoporttia: kone on sammutettu, jumiutunut tai sen edessä oleva verkko on alhaalla. Siirry vaiheeseen 2.
- Ping vastaa, SSH ei: kone toimii, mutta SSH on estetty, pysäytetty tai palvelin on liian ylikuormitettu vastatakseen. Siirry vaiheeseen 3.
- SSH toimii, verkkosivusto ei: palvelin on kunnossa, jokin palvelu ei. Siirry vaiheeseen 4.
Jotkin palvelimet pudottavat pingin tarkoituksella. Jos ping ei ole koskaan toiminut, luota porttitesteihin.
Vaihe 2: mikään ei vastaa
Avaa palveluntarjoajasi hallintapaneeli tai pilvikonsoli ennen mitään muuta. Kolme kysymystä ratkaisee useimmat tapaukset minuutissa:
- Onko palvelin käynnissä? Pysäytetty instanssi, keskeytetty tili tai epäonnistunut maksu näyttää ulkoa täsmälleen katkolta.
- Onko tunnettua häiriötä? Tarkista palveluntarjoajan tilasivu alueellesi tai konesalillesi.
- Mitä konsoli näyttää? Verkko- tai sarjakonsoli näyttää koneen ruudun ilman verkkoakin. Kernel panic, ”Out of memory: Killed process” silmukassa tai käynnistys, joka jumittuu tiedostojärjestelmän tarkistukseen, kertoo kukin, missä ongelma on.
Jos kone on jumiutunut, uudelleenkäynnistys konsolista palauttaa sen yleensä. Ennen käynnistystä ota kuvakaappaus konsolista: kun se käynnistyy uudelleen, todisteet katoavat. Jos se ei käynnisty, useimmat palveluntarjoajat tarjoavat pelastusjärjestelmän, josta voit liittää levyn, lukea lokit ja korjata /etc/fstabin tai rikkinäisen verkkoasetuksen.
Vaihe 3: ping vastaa, SSH ei
Kone on elossa, joten syy on sillä. Kirjaudu konsolilla ja tarkista tavalliset epäillyt:
sudo ufw status verbose
sudo iptables -S | head -n 30
sudo fail2ban-client status sshd
sudo systemctl status ssh sshd 2>/dev/null | grep -E 'Loaded|Active'
Kiireessä lisätty palomuurisääntö, oma IP-osoitteesi estetty muutaman väärän salasanan jälkeen tai SSH-asetusmuutos, joka epäonnistui testissä, ovat yleisimmät lukot. Poista osoitteesi esto komennolla sudo fail2ban-client set sshd unbanip YOUR_IP ja aja aina sudo sshd -t ennen SSH:n uudelleenkäynnistystä. Jos SSH on käynnissä mutta vain hyvin hidas, palvelin on ylikuormitettu: siirry vaiheeseen 4.
Vaihe 4: olet sisällä, lue nyt neljä lukua
uptime
free -m
df -h
df -i
sudo dmesg -T | grep -iE 'oom|killed process|i/o error|read-only' | tail -n 20
- Kuorma (
uptime): selvästi suorittimen ytimien määrää suurempi tarkoittaa, että kone on ylikuormitettu.toptaihtopnäyttää, mikä prosessi on vastuussa. - Muisti (
free -m): ei vapaata muistia eikä swapia sekä ”Killed process”dmesgissä tarkoittaa, että ydin pysäytti prosessin selviytyäkseen. Yleensä se oli tietokanta tai PHP. - Levy (
df -h): täysi levy on palvelinongelmien yleisin syy. Tietokannat lakkaavat kirjoittamasta, lokit lakkaavat, istunnot epäonnistuvat.df -itarkistaa inodit: levy voi olla ”täynnä”, vaikka gigatavuja olisi vapaana, jos miljoonat pienet tiedostot käyttävät kaikki inodit. - I/O-virheet tai vain luku -tiedostojärjestelmä
dmesgissä: levyssä itsessään on ongelma. Lopeta kirjoittaminen, tee varmuuskopio, jos vielä voit, ja ota yhteyttä palveluntarjoajaan.
Tilan vapauttamiseksi turvallisesti aloita järjestelmälokista ja vanhoista arkistoista:
sudo journalctl --vacuum-size=200M
sudo du -xh / --max-depth=2 2>/dev/null | sort -h | tail -n 15
Älä koskaan poista tietokantatiedostoja tai verkkosivun tiedostoja tilan tekemiseksi.
Vaihe 5: mikä palvelu pysähtyi ja miksi
systemctl --failed
sudo journalctl -u nginx -n 50 --no-pager
sudo nginx -t
systemctl --failed listaa jokaisen palvelun, joka pysähtyi virheeseen. Kyseisen palvelun loki nimeää syyn: jo käytössä oleva portti, syntaksivirhe asetustiedostossa, puuttuva varmenne, tila loppu. Testaa asetukset ennen jokaista uudelleenkäynnistystä (nginx -t, apachectl configtest, php-fpm -t) ja käynnistä sitten komennolla sudo systemctl restart SERVICE. Uudelleenkäynnistys ilman testiä voi kaataa palvelun, joka vielä osittain toimi.
Vaihe 6: mikä muuttui?
Katkoilla on syitä, ja syy on yleensä viimeisin muutos. Etsi se:
grep -E ' (install|upgrade) ' /var/log/dpkg.log | tail -n 20
last -n 10
sudo journalctl --since "2 hours ago" -p err --no-pager | tail -n 40
Automaattiset päivitykset, uusi ydin odottamassa uudelleenkäynnistystä, käyttöönotto, cron-työ, joka täytti levyn varmuuskopioilla, vanhentunut varmenne tai jonkun toisen tekemä asetusmuutos: jos jokin näistä riveistä osuu katkon alkamisajankohtaan, sinulla on johtolanka.
Kun samat palvelinongelmat palaavat
Palvelin, joka kaatui kerran täyden levyn tai pysähtyneen tietokannan vuoksi, tekee sen uudelleen. Ulkoa tarkistaminen kertoo, milloin se on alhaalla; sisältä tarkistaminen kertoo ennen. Palvelinagentti raportoi kuorman, muistin, levyt ja palvelut koneen sisältä ja hälyttää, kun levy ylittää kynnyksesi tai valitsemasi palvelu pysähtyy, kun vielä ehtii toimia. Palvelimen valvonta agentilla kuuluu maksullisiin paketteihin.
Kun et halua tehdä tätä kolmelta yöllä
Jos palvelimesi on alhaalla ja haluat mieluummin korjauttaa sen kuin selvittää itse, Quick Fix hoitaa yleiset syyt kiinteään hintaan: se käynnistää pysähtyneen palvelun uudelleen, kun sen asetustesti on läpäisty, vapauttaa täyden levyn ja uusii vanhentuneen varmenteen, varmuuskopion jälkeen. Kun se ei riitä, Deep Fix ottaa asian hoitaakseen kellon ympäri, laskutus 15 minuutin jaksoissa, hinta näytetään ennen tilausta. Kumpikin toimii Responderin, SSH:n root-käyttäjänä tai SSH-pääsyn kautta webtilaasi. Lisätietoja sivulla palvelin alhaalla: korjaus ja päivystys.
Mitä seuraavaksi
Tarkista se ulkoa
Onko sivusto alhaalla kaikille vai vain sinulle, ja mitä palvelin vastaa? Ilmainen, ei rekisteröitymistä.
Sivuston saatavuuden tarkistinAlhaalla? Hoidamme sen.
Omalla palvelimellasi tai webtilassa, johon on SSH-pääsy: Quick Fix kiinteään hintaan yleisiin syihin, Deep Fix 15 minuutin jaksoissa laskutettuna loppuun, kellon ympäri. Hinta ennen tilausta.
Tilaa korjausLisää oppaita
- Verkkosivustosi on alhaalla. Näin toimit ensimmäisten 15 minuutin aikana.
- 502 Bad Gateway: syyt ja korjaus
- 503 Service Unavailable: ylikuormitus vai huolto?
- 504 Gateway Timeout: mitä se tarkoittaa ja miten sen korjaa
- DNS_PROBE_FINISHED_NXDOMAIN: syyt ja korjaukset
- ERR_CONNECTION_REFUSED: syyt ja korjaus
- ”Yhteytesi ei ole yksityinen”: SSL-varmenteen varoitus