Как вы перезапустите Apache?

249

Я переключился с SLES на Ubuntu и теперь хочу перезапустить свой локальный сервер. В SLES я использовал:

rcapache2 restart

но это как-то не работает в Ubuntu. :(

Как мне перезапустить мой Apache?

Джай Пури
источник

Ответы:

364

sudo service apache2 restart за то, что позаимствовано у Red Hat.

MACO
источник
1
Я думаю, что serviceэто способ LSB, и он должен работать в большинстве дистрибутивов, теперь, когда Debian и Ubuntu наконец-то получили его.
Мариус Гедминас
10
sudo restart apache2не работает в Ubuntu 12.04. Не уверен в других версиях Ubuntu.
saji89
2
@ saji89 вам нужно сделать sudo service apache2 restart, тогда это будет работать.
Kevdog777
9
sudo restart apache2не работает в Ubuntu 14.04. sudo service apache2 restartработает жестко.
Toesslab
105

Вы хотите перезапустить Apache или изящно перезагрузить его конфигурацию?

Все отвечали на первый вопрос; Вы можете сделать второе с

sudo service apache2 reload

Изящная перезагрузка происходит немного быстрее, и времени простоя нет.

Есть одно предостережение: если ваши конфигурационные файлы apache содержат ошибку (например, настраивает файл журнала в несуществующей директории), сервер может молча завершиться, не выводя никаких сообщений об ошибках на консоль. Большинство других ошибок отлавливается тем, apache2ctl configtestчто service apache2 reloadвыполняется перед выполнением фактической перезагрузки apache2ctl graceful.

Мариус Гедминас
источник
1
Да! Использовать грациозно гораздо лучше, если вы хотите перезапустить, не запуская зрителей вашего сайта!
Том
Я считаю, что преимущество перезапуска состоит в том, что если Apache не работает, он запустится . -> перезагрузит и запустит его?
Торбен Гундтофте-Брюн
Я так не думаю - еще хуже, перезагрузка остановит работающий apache, если вы допустите синтаксическую ошибку в файле конфигурации.
Мариус Гедминас
3
Всегда бегайте, sudo apache2ctl configtestпрежде чем делать изящный перезапуск. Изящный перезапуск не удастся, и apache будет остановлен, если в конфигурации есть синтаксическая ошибка.
Микко Ранталайнен,
@MikkoRantalainen: спасибо, я редактировал ответ на падение сырой apache2ctl gracefulи вместо того, чтобы рекомендовать только service apache2 reload, который бежит configtestперед тем graceful.
Мариус Гедминас
26

В Ubuntu рекомендуется запускать / останавливать службы (а не только Apache), используя команды start / stop / reload (которые на самом деле являются символическими ссылками на программу initctl , часть upstart ).

Для служб, которые используют устаревшие /etc/init.dсценарии, соответствующий сценарий будет вызываться с правильными параметрами; для сервисов, использующих инфраструктуру upstart, соответствующий переход событий будет сигнализироваться демону upstart через initctl .

Итак, чтобы запустить / остановить / перезагрузить / перезапустить apache в Ubuntu, вы можете использовать:

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2
Риккардо Мурри
источник
20
sudo /etc/init.d/apache2 restart

Конечно , вы можете обменять restartна stop, startи (я думаю)reload

Оли
источник
2
Делая это в недавнем Ubuntu, вы получаете сообщение о том, что делаете это по-новому, хотя он все равно будет выполнять желаемую команду.
jfmessier
Я еще не понял, что Apache переехал в Upstart.
Оли
Я больше не вижу этого сообщения.
Тим
17

Ubuntu способ:

sudo service apache2 restart|stop|start 
палец на ноге
источник
11

Как сказал Мариус, изящный следует использовать либо для перезапуска:

sudo apache2ctl graceful

или же

sudo apache2ctl graceful-stop

остановить Apache изящно.

Эти команды ждут, пока все запросы на веб-страницы не будут обработаны, прежде чем перезапускать / останавливать веб-сервер, чтобы ваш пользователь не получил половину веб-страницы.

kemra102
источник
4

Сначала вы проверяете свой статус с помощью этой команды

sudo service apache2 status

затем остановите работающий сервис

sudo service apache2 stop

затем используйте эту команду:

sudo /opt/lampp/lampp start

это решение сработало для меня.

Md.Shahjalal
источник
2

если вы устанавливаете версию Apache 2.4 в своей системе, чтобы начать перезапуск или остановить сервер Apache в вашей локальной системе, вам следует выполнить следующую команду

./apachectl start

или вы можете использовать перезагрузку , остановите также согласно вашему требованию. это проверенный код

Мукеш Кумар
источник
1

Вы можете использовать службы для перезапуска Apache

service apache2 restart

и вы можете использовать все функции для этого (Стоп - Пуск - Перезагрузка)

vipmaa
источник
1

Лучший способ перезапустить сервер Apache - использовать следующую команду:

$ sudo service apache2 restart

Изменить Вы можете использовать следующую команду:

$ sudo /etc/init.d/apache2 restart
Бритва Расс
источник
1
Источник команды: Перезапустите Apache Ubuntu
Бритва Расс
0
sudo systemctl restart apache2

systemctl - управляет системой systemd и менеджером сервисов.

systemctl может использоваться для анализа и управления состоянием системного менеджера системы и службы.

Михал Пжибылович
источник
-1

если вы root: (в Ubuntu root, я думаю, отключен, используйте команду sudo!)

$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload 

(Если вы использовали a2ensite или a2dissite, вам необходимо перезагрузить конфигурацию apache)

Rinzwind
источник
rootне отключен, у него просто нет пароля, если вы сами его не дадите.
Микаэль Ауно
1
это //stop apacheдолжно быть комментарий? если да, то стандартное обозначение оболочки будет #stop apache, //не работает в Баш
Микель
Корневая учетная запись @MikaelAuno отключена, если у нее нет пароля
T0xicCode
1
@ xav0989 Это вопрос определения. Конечно, вы не можете напрямую войти как rootили войти rootлюбым способом, для которого требуется rootпароль, но есть и другие способы root. Попробуйте, например, sudo -iследовать, whoamiи вы увидите, что вы действительно вошли как root. Кроме того, если вы это сделаете, ps aux | grep rootвы увидите, что у вас уже есть много процессов в вашей системе, работающих как root. Так что, пожалуй, rootне отключено.
Микаэль Ауно
@MikaelAuno или sudo -E -s. Отключенный, я предполагаю, что подразумевалось, что вы не можете напрямую войти в систему как root, но вы все равно можете запускать процессы как root.
T0xicCode