Reporniți Apache pe Ubuntu, RedHat, Gentoo și alte distribuții Linux
Dacă găzduiți site-ul dvs. pe o platformă open source, este foarte probabil că această platformă este Apache. Dacă acesta este cazul, și găzduiți cu un server Apache, atunci când lucrați la editarea fișierului Apache httpd.conf sau a altui fișier de configurare (cum ar fi adăugarea unei noi gazde virtuale), va trebui să reporniți Apache astfel încât modificările vor intra în vigoare. Acest lucru poate părea înfricoșător, dar din fericire acest lucru este foarte ușor de făcut.
De fapt, puteți face acest lucru în aproximativ un minut (fără a lua în calcul timpul necesar pentru a citi acest articol pentru a obține instrucțiunile pas cu pas).
Noțiuni de bază
Pentru a reporni serverul de web Linux Apache, cel mai bun mod este să utilizați comanda init.d. Această comandă este disponibilă pe multe distribuții de Linux, inclusiv Red Hat, Ubuntu și Gentoo. Iată cum ați face acest lucru:
- Conectați-vă la serverul dvs. web folosind SSH sau telnet și asigurați-vă că sistemul dvs. include comanda init.d. Acesta este, de obicei, găsit în directorul / etc, astfel încât lista de director:
ls / etc / i *
- Dacă serverul dvs. utilizează init.d, veți obține o listă a fișierelor de inițializare din dosarul specificat. Căutați apache sau apache2 în acel folder următor. Dacă aveți init.d, dar nu aveți un fișier de inițializare Apache, mergeți la secțiunea din acest articol cu titlul "Reporniți serverul fără Init.d", altfel puteți continua.
- Dacă aveți init.d și un fișier de inițializare Apache, puteți reporni Apache utilizând următoarea comandă:
/etc/init.d/apache2 reload
Este posibil să aveți nevoie să sudo în ca utilizator rădăcină pentru a rula această comandă.
Opțiunea de reîncărcare
Folosirea opțiunii de reîncărcare este cea mai bună modalitate de a reporni serverul Apache, deoarece menține serverul în stare de funcționare (procesul nu este ucis și repornit). În schimb, acesta reîncarcă fișierul httpd.conf, care este de obicei tot ceea ce doriți să faceți în acest caz oricum.
Dacă opțiunea de reîncărcare nu funcționează pentru dvs., puteți încerca, de asemenea, să utilizați următoarele comenzi:
- /etc/init.d/apache2 restart - această comandă omoară procesul serverului și apoi îl repornește
- /etc/init.d/apache2 stop - această comandă ucide procesul serverului
- /etc/init.d/apache2 start - această comandă pornește serverul (și va arunca un mesaj de eroare dacă serverul este deja rulat)
Repornirea serverului fără Init.d
OK, deci aici v-am cerut să treceți la dacă serverul dvs. nu are init.d. Dacă asta ești tu, nu dispera, poți reporni serverul. Trebuie doar să o faceți manual cu comanda apachectl. Iată pașii pentru acest scenariu:
- Conectați-vă la serverul dvs. web folosind SSH sau telnet
- Rulați programul de control apache:
apachectl grațios
Este posibil să aveți nevoie să sudo în ca utilizator rădăcină pentru a rula această comandă.
Comanda apachectl grațios îi spune lui Apache că doriți să reporniți grațios serverul fără a întrerupe conexiunile deschise. Acesta verifică automat fișierele de configurare înainte de a iniția repornirea, pentru a vă asigura că Apache nu moare.
Dacă apachectl grațios nu repornește serverul, există și alte câteva lucruri pe care le puteți încerca.
- apachectl reporniți pentru a reporni serverul. Dacă serverul nu rulează, acesta este pornit. Această comandă execută de asemenea un test de configurare pentru a vă asigura că Apache nu va muri atunci când repornește.
- apachectl stop pentru a opri serverul Apache
- apachectl începe să pornească serverul Apache (va arunca un mesaj de eroare dacă apare Apache)
- apachectl configtest pentru a testa sintaxa fișierului de configurare.
Sfaturi pentru repornirea serverului Apache:
- init.d reload și apachectl graceful reîncărcați fișierele de configurare și reporniți grațios serverul web. Toate conexiunile curente sunt permise să se încheie. Aceasta este abordarea preferată și ar trebui să fie ceea ce încercați mai întâi.
- init.d restart și restartul apachectl reîncarcă fișierele de configurare și repornește. Toate conexiunile curente sunt terminate imediat.
- Dacă serverul nu se execută, aceste comenzi îl vor porni.
- Dacă niciuna dintre aceste comenzi nu funcționează, ar trebui să dezactivați serverul Apache (opriți-l pentru o perioadă scurtă de timp) cu comanda init.d stop sau apachectl stop, așteptați cel puțin 10 secunde și apoi executați init.d start start apachectl start
- Dacă aceasta nu funcționează, ar trebui să faceți o verificare a fișierelor de configurare pentru a vă asigura că nu există o problemă cu acestea prin rularea apachectl grațios