В чем разница между использованием apachectl и apache2 для перезапуска Apache?

9

Я знаю три способа перезапустить Apache:

sudo /usr/sbin/apachectl restart

sudo /etc/init.d/apache2 restart

service apache2 restart

Что каждый путь делает внизу?

Я также пытался использовать service apache2 stopв Ubuntu, но по какой-то причине он не останавливает сервер: localhost по-прежнему работает на моем рабочем столе.

Доктор манхэттен
источник

Ответы:

10

serviceи / или init.dскрипты точно то же самое , как она работает тот же httpdсценарий, который должен был , главным образом, stopи (re)start httpdобслуживание, в то время как apachectlможно сделать больше (см выход).

apachectl:

# apachectl 
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
                       [-C "directive"] [-c "directive"]
                       [-k start|restart|graceful|graceful-stop|stop]
                       [-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
  -D name            : define a name for use in <IfDefine name> directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed settings (currently only vhost settings)
  -S                 : a synonym for -t -D DUMP_VHOSTS
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files
# 
Alexus
источник
Хорошо, причина, почему я спрашиваю s, потому что я использовал sudo / usr / sbin / apachectl restart, и все мои статические файлы django теперь дают 404 ошибки, думал, что это как-то связано с методом перезагрузки сервера
Dr Manhattan
@DrManhattan Скорее всего, вы изменили свои файлы конфигурации (возможно, с перезаписью). Вы не заметили этого ранее, потому что изменение не вступило в силу, пока вы не перезапустили сервис.
kojow7