вы можете использовать службы для перезапуска Apache
service apache2 restart
и использовать для этого все функции (Стоп - Пуск - Перезагрузка)
Если вы устанавливаете версию Apache 2.4 в своей системе, чтобы запустить перезапуск или остановить сервер Apache в локальной системе, вам нужно выполнить следующую команду
./apachectl start
или использовать restart , остановите также согласно вашему требованию. это проверенный код
Как сказал Мариус изящный, следует использовать либо для перезапуска:
sudo apache2ctl graceful
или
sudo apache2ctl graceful-stop
, чтобы изящно остановить Apache.
Эти команды ждут, пока все запросы на веб-страницы не будут обработаны, прежде чем перезапустить / остановить веб-сервер, чтобы ваш пользователь не получил половину веб-страницы.
sudo /etc/init.d/apache2 restart
Конечно, вы можете заменить restart
на stop
, start
и (я думаю) reload
Рекомендуемый способ запуска / остановки служб в Ubuntu (не только Apache) - использовать команды start / stop / reload (которые действительно являются символическими ссылками на программу initctl , часть ). выскочка ).
Для служб, которые используют устаревшие сценарии /etc/init.d
, соответствующий сценарий будет вызываться с правильными параметрами; для сервисов, использующих инфраструктуру upstart, соответствующий переход события будет сообщаться демону upstart через initctl .
Итак, чтобы запустить / остановить / перезагрузить / перезапустить apache в Ubuntu, вы можете использовать:
sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2
sudo service apache2 restart
за способ, который позаимствован у Red Hat.
sudo restart apache2
не работает в Ubuntu 12.04
. Не уверен в других версиях Ubuntu.
– mBardos
02.11.2019, 18:17
sudo restart apache2
не работает в Ubuntu 14.04. sudo service apache2 restart
работает жестко.
– Code Whisperer
02.11.2019, 18:17
sudo service apache2 restart
, тогда это будет работать.
– wheresrhys
02.11.2019, 18:17
service
- это способ LSB, и он должен работать в большинстве дистрибутивов, теперь, когда Debian и Ubuntu finally i> получили его.
– wheresrhys
02.11.2019, 18:18
если вы являетесь пользователем 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 )
sudo -E -s
. При отключении я предполагаю, что это означало, что вы не можете напрямую войти в систему как root
, но вы все равно можете запускать процессы как root
.
– nobar
02.11.2019, 18:18
root
или войти как root
любым способом, для которого требуется пароль root
, но есть и другие способы стать root
. Попробуйте, например, sudo -i
, затем whoami
, и вы увидите, что вы действительно вошли как root
. Кроме того, если вы сделаете ps aux | grep root
, вы увидите, что у вас уже есть много процессов в вашей системе, работающих как root
. Так что, возможно, root
не отключен.
– Andrew C
02.11.2019, 18:18
//stop apache
должен быть комментарием? если это так, стандартная запись оболочки будет #stop apache
, //
не работает в Bash
– ashish yadav
02.11.2019, 18:19
root
не отключен, у него просто нет пароля, если вы сами его не дадите.
– nelsontruran
02.11.2019, 18:19
Хотите перезапустить Apache или изящно перезагрузить его конфигурацию?
Все отвечали на первый вопрос ; Вы можете сделать второе с
sudo service apache2 reload
Изящная перезагрузка происходит немного быстрее, и времени простоя нет.
Есть одно предупреждение: если ваши конфигурационные файлы apache содержат ошибку (например, настраивает файл журнала в несуществующей директории), сервер может молча завершиться, не выводя никаких сообщений об ошибках на консоль. Большинство других ошибок обнаруживается в apache2ctl configtest
, который запускается в service apache2 reload
перед выполнением фактической перезагрузки с помощью apache2ctl graceful
.
apache2ctl graceful
, и вместо этого рекомендую просто service apache2 reload
, который запускает configtest
до graceful
.
– Louth
02.11.2019, 18:19
sudo apache2ctl configtest
, прежде чем делать постепенный перезапуск. Изящный перезапуск не удастся, и apache будет остановлен, если в конфигурации есть синтаксическая ошибка.
– GoZoner
02.11.2019, 18:19