Как да рестартирате Apache уеб сървър (Linux)

Когато хоствате уебсайта си на отворен код платформа, много вероятно е тази платформа да използва Apache като уеб сървър по подразбиране, работещ на сървърна дистрибуция на Linux. Когато правите съществени промени в структурата на конфигурацията на уеб сървъра, ще трябва да рестартирате уеб сървъра (не, по същество, операционната система). Процедурата за рестартиране на Apache зависи от операционната система на сървъра.

Предпоставки

За да рестартирате сървъра, ще ви е необходим шел достъп до операционната система, на която работи Apache. Със специален виртуален частен сървър или ще влезете в подкана за обвивка през браузър, или ще използвате сесия на Secure Shell, инициирана от вашия локален компютър. Ако не можете да влезете в сървъра и да изпълнявате команди с повишени привилегии (напр. sudo), не можете да рестартирате сървъра на Apache. В този случай ще трябва да говорите със системен администратор за помощ.

Работа със сървъри в Linux

Ubuntu Apache уеб сървър

Много Linux дистрибуции поддържат серия от шел скриптове

които контролират основните услуги. Тези скриптове отговарят на няколко аргумента, които оформят как функционира скриптът:

  • Започнете: Започва услуга
  • Спри се: Прекратява услуга
  • Рестартирам: Рестартира услуга, независимо от текущата употреба
  • Презареди: Грациозно рестартира услуга, оставяйки текущите връзки да продължат, ако могат

Ако можете, използвайте презареди вместо рестартирам тъй като първият всъщност не убива сървъра, той просто го инициализира отново чрез повторно четене на текущите конфигурационни файлове. Пълен рестартирам изключва всички текущо свързани клиенти със сървъра в допълнение към повторното инициализиране на конфигурационните файлове.

Обикновено ще рестартирате сървърна услуга, като използвате един от трите метода.

Първият е да използвате скрипт от /etc/init.d/—типичен за сървъри, работещи с Debian преди версия 8.x или Ubuntu преди 15.04. Второто е да използвате systemctl команда. Третият и безопасен подход е използването apachectl.

Използването на Init.d

Linux дистрибуциите, които разчитат на /etc/init.d/ скриптове, могат да използват някоя от следните три команди за рестартиране на Apache:

/etc/init.d/apache2 рестартирайте. 
sudo /etc/init.d/apache2 рестартирайте. 
sudo service apache2 рестартирайте. 

За да извършите грациозно рестартиране, заменете рестартирам с презареди.

За сървъри CentOS и RHEL 6.x или по-стари, използвайте обслужване скрипт, но вместо да го извика apache2 ще го наречеш httpd вместо:

рестартиране на услугата httpd. 

Използване на Systemctl

По-новите операционни системи, като Debian 8.x, Ubuntu 15.04, CentOS/RHEL 7.x и по-нови версии, използват systemd. Изпълнете следната команда:

systemctl рестартирайте apache2.service. 

Използване на Apachectl

В apachectl скриптът предлага общ подход, който има за цел да бъде агностичен за вашата специфична сървърна дистрибуция. За да го изпълните, трябва да го стартирате като root потребител:

sudo apachectl -k рестартиране. 
sudo apachectl -k изящен. 

В грациозен методът е подобен на презареди метод.