- How do you restart Apache?
- Перезапуск Apache Ubuntu
- Перезапуск Apache в Ubuntu
- Перезапуск Apache в панели управления
- Выводы
- How to Start, Stop, or Restart Apache Server on CentOS 7
- Restarting Apache on CentOS 7
- Method 1: Restart Apache Server Using Systemctl Command
- Method 2: Restart HTTPD Server Using Apachectl Command Script
- Other Commands to Use with Systemctl
- Apache Best Practices
How do you restart Apache?
sudo service apache2 restart for the way that’s borrowed from Red Hat.
I think service is the LSB way, and should work in most distributions, now that Debian and Ubuntu finally got it.
Do you want to restart Apache, or do you want to gracefully reload its configuration?
Everyone was answering the first question; you can do the second with
sudo service apache2 reload
Gracefully reloading is a bit faster, and there’s no downtime.
There’s one caveat: if your apache config files contain an error (e.g. configures a log file in a directory that doesn’t exist), the server may silently exit without printing any error messages to the console. Most other errors are caught by the apache2ctl configtest that service apache2 reload runs before doing the actual reload with apache2ctl graceful .
I find that it’s an advantage of restart that if Apache isn’t running then it will start. —> Will reload also start it?
I don’t think so — even worse, reload will stop a running apache if you make a syntax error in the config file.
Always run sudo apache2ctl configtest before doing graceful restart. Graceful restart will fail and apache will be stopped if config has a syntax error.
@MikkoRantalainen: thanks, I’ve edited the answer to drop the raw apache2ctl graceful and instead recommend just service apache2 reload , which runs the configtest before graceful .
The recommended way under Ubuntu to start/stop services (not just Apache) is to use the start/stop/reload commands (which really are symbolic links to the initctl program, part of upstart).
For services that use the legacy /etc/init.d scripts, the corresponding script will be called with the correct parameters; for services that use the upstart infrastructure, the appropriate event transition will be signaled to the upstart daemon via initctl.
So, to start/stop/reload/restart apache on Ubuntu, you can use:
sudo start apache2 sudo stop apache2 sudo reload apache2 sudo restart apache2
Перезапуск Apache Ubuntu
Apache — это один из самых популярных веб-серверов, которые используются для размещения сайтов. Наверное, он даже популярнее, чем Nginx, поскольку его намного проще настроить и есть поддержка изменения конфигурации для каждой отдельной папки с помощью файлов htaccess, причем сразу же, на лету. Но когда вы поменяли глобальные настройки Apache или изменили параметры PHP, Apache необходимо перезагрузить.
В этой небольшой статье мы рассмотрим какими способами выполняется перезапуск apache ubuntu и как это делать более правильно.
Перезапуск Apache в Ubuntu
Как и в большинстве других дистрибутивов, в Ubuntu используется система управления службами systemd. Именно ее мы и будем использовать для решения наших задач. Сначала давайте посмотрим запущен ли Apache и не выдает ли он каких ошибок:
sudo systemctl status apache2
В отличие от CentOS и других RedHat дистрибутивов, здесь Apache называется не httpd, а apache2. Поэтому если вы попытаетесь делать что-то с httpd, то у вас ничего не выйдет.
У нас есть два различных пути перезапуска Apache и несколько команд для выполнения нужных операций:
- Вы можете полностью перезапустить Apache, программа закроется и откроется заново, собьется вся статистика и оборвутся соединения. Некоторое время, пока сервис будет перезагружаться, пользователи не смогут получить к нему доступ. restart (stop start);
- Можно инициировать обновление конфигурационных файлов. В таком случае программа рекомендует своим дочерним процессам завершиться, когда они закончат обработку соединений и обновит свою конфигурацию без фактического перезапуска. Такой способ позволяет минимизировать потери пользователей. reload, graceful.
Для перезагрузки можно использовать три команды, это systemd, service и apachectl. Разработчики Apache рекомендуют использовать apachectl, но все другие команды просто являются оболочками для этой. Сначала systemctl:
sudo systemctl restart apache2
sudo systemctl reload apache2
Если вы хотите использовать service, то можно не писать sudo, тогда система спросит вас пароль сама:
service restart apache2
service reload apache2
Последний способ перезагрузки Apache — использовать apachectl:
apachectl -k restart
apachectl -k graceful
В каждой паре первая команда означает жесткую перезагрузку, а вторая — обновление конфигурации без перезагрузки сервиса. Вместо apachectl еще можно использовать ее алиас — apache2ctl. После перезагрузки посмотрите все ли правильно работает:
sudo systemctl status apache2
Более подробную информацию можно увидеть выполнив:
Если вас интересует ответ на вопрос, как запустить apache, то используйте команду start:
$ sudo systemctl start apache2
Перезапуск Apache в панели управления
Если вы используете панель управления сервером через веб-интерфейс, например, VestaCP, это сделать достаточно просто. Сначала откройте вкладку «Server»:
Затем просто найдите в списке Apache и нажмите «Restart»:
Выводы
В этой статье мы рассмотрели как выполняется перезапуск apache ubuntu, несмотря на то, что это очень просто и вряд ли может вызвать проблемы, есть несколько способов, и теперь вы их знаете. Если у вас остались вопросы, спрашивайте в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How to Start, Stop, or Restart Apache Server on CentOS 7
Apache is part of the popular LAMP (Linux, Apache, MySQL, PHP) stack of software. It’s responsible for the function of most of the internet.
This guide will show you how to restart Apache service on Linux CentOS 7.
- Access to a user account with sudo privileges
- An installed and configured Apache installation
- Access to a command line / terminal window (Menu > Applications > Utilities > Terminal)
Restarting Apache on CentOS 7
Method 1: Restart Apache Server Using Systemctl Command
Open a terminal window and enter the following:
sudo systemctl restart httpd.service
The service should restart.
The restart command can take several moments to complete, depending on the complexity of your server configuration. If you’re running a large or complex server configuration, this can cause disruptions for users who rely on the server.
Method 2: Restart HTTPD Server Using Apachectl Command Script
Apache recommends using a control script to pass commands to the httpd process.
To restart Apache in this manner, enter the following:
To instruct the Apache service to terminate all child processes and itself, run the following command:
Use the below-mentioned command to exit child processes after they finish a task and then launch new instances. The service will reload configuration files as well.
Use -k restart to force child processes to exit. The parent process stays running, and reloads configuration files.
Use -k graceful-stop to force parent process to stop child processes as they complete their tasks. Once all child processes are stopped, the parent process exits.
For more information on the apachectl command, see the Apache documentation.
Other Commands to Use with Systemctl
To start the Apache service:
sudo systemctl start httpd.service
Stop the Apache service with:
sudo systemctl stop httpd.service
Force Apache to refresh the configuration files:
sudo systemctl reload httpd.service
Set Apache to run when the system boots:
sudo systemctl enable httpd.service
Prevent Apache from loading when the system boots:
sudo systemctl disable httpd.service
The reload command is faster and creates much less disruption than restart. However, this only performs a soft refresh of the configuration files. Some services and dependencies may not be included in the refresh.
One good practice is to weigh the benefits against the costs of each process. If you have several clients depending on access to your server, try to refresh first. If that doesn’t work, or if the disruption is minimal, use restart.
Apache Best Practices
Like many Linux services, Apache’s functionality can be modified using configuration files and modules. Configuration files should all be stored in the /etc/httpd/ directory.
In that directory, look for the /httpd.conf file – this is the main configuration file for Apache’s global settings. You can edit this file with any text editor to change your Apache configuration.
Apache’s functionality can be enhanced using modules. A module is an application that works in conjunction with the main Apache application. For example, the mod_bandwidth module allows you to set a bandwidth limit on each connection.
Available modules can be found in the /etc/httpd/mods-available directory.
Use the following commands to manage modules:
You can configure Apache to listen on specific ports by editing the /etc/apache2/ports.conf file.
Apache creates log files during usage. The error log reports any problems, misconfigurations, or other issues. You can use the error log to find issues with your configuration.
The access log tracks every client that connects to your Apache server. This can be used to view resources being used or how users interact with your website.
Apache access and error log files can grow large as they record so much data. Most users will use a tool like tail or cat to display a portion of the log file.
As Apache runs, the log files will use more disk space. To keep them manageable, Apache recommends rotating log files and using the graceful restart option above.
Apache can manage multiple websites, called virtual hosts, on the same system. Content is stored in the /var/www/ directory.
Available sites are stored in /etc/httpd/sites-available , and enabled sites are stored in /etc/httpd/sites-enabled.
Starting, stopping, & restarting the Apache service is relatively straightforward. You can use additional commands to customize your particular configuration.
For example, you might choose to reload Apache instead of a full restart. Or, you might use the apachectl command for more control over your server.