Restartujte Apache na Ubuntu, RedHat, Gentoo a dalších Linux Distros
Pokud hostujete své webové stránky na platformě s otevřeným zdrojovým kódem, je velmi pravděpodobné, že tato platforma je Apache. Pokud se jedná o tento případ a hostujete se serverem Apache, pak když pracujete na úpravě souboru Apache httpd.conf nebo jiného konfiguračního souboru (například přidání nového virtuálního hostitele), budete muset Apache restartovat tak, aby vaše změny se projeví. To se může zdát strašidelné, ale naštěstí je to velmi snadné.
Ve skutečnosti to můžete udělat za minutu (bez ohledu na čas potřebný k přečtení tohoto článku, abyste získali pokyny krok za krokem).
Začínáme
Chcete-li restartovat webový server Linux Apache, nejlepším způsobem je použití příkazu init.d. Tento příkaz je dostupný na mnoha distribucích Linuxu včetně Red Hat, Ubuntu a Gentoo. Zde je návod, jak to udělat:
- Přihlaste se na svůj webový server pomocí SSH nebo telnet a ujistěte se, že váš systém obsahuje příkaz init.d. To se obvykle nachází v adresáři / etc, takže seznam adresáře:
ls / etc / i *
- Pokud váš server používá init.d, obdržíte seznam inicializačních souborů v uvedené složce. Najděte apache nebo apache2 v této složce. Pokud máte init.d, ale nemáte inicializační soubor Apache, přejděte do části tohoto článku s nadpisem "Restartování serveru bez Init.d", jinak můžete pokračovat.
- Pokud máte init.d a inicializační soubor Apache, můžete restartovat Apache pomocí tohoto příkazu:
/etc/init.d/apache2 znovu načíst
Možná budete muset sudo jako uživatel root spustit tento příkaz.
Možnost opětovného načtení
Použití možnosti obnovení je nejlepší způsob, jak restartovat server Apache, protože udržuje běžící server (proces není zabit a restartován). Místo toho pouze znovu načte soubor httpd.conf, což je obvykle vše, co chcete v tomto případě udělat.
Pokud volba Znovu načíst nefunguje, můžete se také pokusit použít následující příkazy:
- /etc/init.d/apache2 restart - tento příkaz zabije serverový proces a restartuje ho
- /etc/init.d/apache2 stop - tento příkaz zabije proces serveru
- /etc/init.d/apache2 start - tento příkaz spustí server (a zobrazí chybovou zprávu, pokud je server již spuštěn)
Restartování serveru bez Init.d
OK, takže tam jsme vás požádali, abyste přeskočili, pokud váš server nemá init.d. Pokud jste to vy, nezoufejte, můžete server stále restartovat. Musíte to udělat ručně příkazem apachectl. Zde jsou kroky pro tento scénář:
- Přihlaste se k serveru webového serveru pomocí SSH nebo telnetu
- Spusťte řídicí program Apache:
apachectl půvabný
Možná budete muset sudo jako uživatel root spustit tento příkaz.
Příkaz apachectl graceful říká Apache, že chcete restartovat server ladně, aniž byste přerušili všechna otevřená připojení. Automaticky kontroluje konfigurační soubory před spuštěním restartu, aby se ujistil, že Apache nezmizí.
Pokud apachectl elegantní nerestartuje váš server, existuje několik dalších věcí, které můžete vyzkoušet.
- restartování serveru apachectl restartujte server. Není-li server spuštěn, spustí se. Tento příkaz také spustí konfigurační test, aby se ujistil, že Apache při jeho restartu nezmizí.
- apachectl zastavit zastavení serveru Apache
- apachectl začne spouštět server Apache (při spuštění Apache se zobrazí chybová zpráva)
- apachectl configtest otestovat syntaxi konfiguračního souboru.
Tipy pro restartování serveru Apache:
- init.d reload a apachectl graceful znovu načíst konfigurační soubory a laskavě restartovat webový server. Všechna aktuální připojení mohou být dokončena. Toto je upřednostňovaný přístup a mělo by to být to, co nejprve zkusíte.
- init.d restart a apachectl restart znovu načte konfigurační soubory a restartuje. Všechna aktuální připojení se okamžitě ukončí.
- Pokud server není spuštěn, budou tyto příkazy spuštěny.
- Pokud žádný z těchto příkazů nefunguje, měli byste server Apache vypnout (krátkou dobu jej zastavením) pomocí příkazu init.d stop nebo apachectl stop, počkat alespoň 10 sekund a spustit init.d start start apachectl start
- Pokud to nefunguje, měli byste spustit kontrolu konfiguračních souborů, abyste se ujistili, že s nimi není problém tím, že spustíte apachectl graceful