Разное

Запуск apache: Запуск и управление Apache

08.07.2021

Содержание

Запуск и управление Apache

В операционной системе Windows управлять работой WEB-сервера Apache можно несколькими способами:

— с помощью утилиты Apache Service Monitor;

— с консоли управления служб Windows;

— используя пункты меню Пуск;

— используя командную строку.

Управление Apache с помощью утилиты Apache Service Monitor

Для запуска Web-сервера Apache c помощью утилиты Apache Service Monitor необходимо дважды щелкнуть на значке программы в системном трее. В открывшемся окне кнопками «Start«, «Stop» и «Restart» можно производить пуск, остановку и перезапуск WEB-сервера соответственно.

Управление Apache с консоли управления служб Windows

Если при установке сервера в качестве порта, по которому Apache принимает запросы, был выбран порт 80, допускается запуск Apache в качестве сервиса. Для запуска консоли управления выберите «Пуск» => «Панель управления» => «Администрирование» => «Службы» или нажмите кнопку «Services» в окне утилиты «Apache Service Monitor«. В окне консоли, следует выбрать сервис Apache2. Контекстное меню позволяет осуществлять запуск, остановку и перезапуск сервиса.

Службы Windows обеспечивают запуск фоновых приложений при старте системы. Для этого необходимо перейти в окно «Свойства«, выбрав в контекстном меню сервиса команду «Свойства«, и в окне из списка «Тип запуска» указать пункт «Авто«.

Управление Apache из меню Пуск

Осуществлять пуск, остановку и перезапуск сервера Apache можно из меню «Пуск«. Для этого следует перейти в меню «Пуск» => «Программы» => «Apache HTTP Server» => «Control Apache Server«. Здесь можно осуществить пуск, остановку и перезапуск сервера путем выбора пунктов «Start«, «Stop» и «Restart«.

Управление Apache из командной строки

Запускать, останавливать и перезапускать сервер Apache из командной строки можно с помощью следующих команд:

— старт: httpd — k start

— перезапуск: httpd — k restart

— стоп: httpd — k stop (httpd — k shutdown)

Все команды следует выполнять из каталога bin сервера Apache. Команда «httpd — t» позволяет проверить конфигурационные файлы Apache на предмет наличия синтаксических ошибок. В случае их отсутствия выдается строка «Syntax ОК«. Если же в конфигурационных файлах есть ошибки, то в результате тестирования программа выдаст сообщение об ошибке.

Если Вы следовали инструкциям, описанным в статье Установка Web-сервера Apache в среде Windows, тогда в командной строке (CMD) сначала нужно изменить каталог:

C:\Documents and Settings\user>cd c:\web_server\apache\bin

Настройка Apache Linux — запуск и установка / Linux системы / ADODO.ru

Если вы продвинутый юзер интернет простора, то со временем вам понадобится собственный сервер. Запуска собственного сайта или веб-интерфейс для системы наблюдения и ведения учета.

Данная инструкция для пользователей Ubuntu, для прочих Linux систем принцип тот же. Установка Apache Linux начинается с установки обязательного софта

server#>sudo apt-get update;
server#>sudo apt-get install apache2 php5 php5-mysql mysql-server-5. 0

Установка модулей гипертекстового процессора (php) не обязательна, все зависит от ваших потребностей. Его можно доставить и позже. Идем к папке, куда установлена программа Apache/etc/apache2/:
envvars
conf.d/
apache2.conf
ports.conf
sites-enabled/
mods-enabled/
server#>ls /etc/apache2/
mods-available/
httpd.conf
sites-available/

apache2.conf
– файл, в котором прописана конфигурация httpd сервера.
httpd.conf – данный файл предназначен для совместимости и он совершенно пустой.
mods-available/ — каталог с подключаемыми модулями.
sites-available/ — каталог подключаемых файлов, которые активируют виртуальные хосты после установки Apache Linux.

Модуль или виртуальный хост можно активировать с помощью a2ensite и a2enmod.

Настройка Apache Linux

Правильная настройка apache Linux предполагает набор специальных знаний и навыков. Файл настройки лежит по пути /usr/local/etc/apache/httpd.conf. Должно присутствовать три файла настроек, которые помогут настроить все параметры вашего сервера. По сути это простой тестовый документ, в котором каждая строка начинается с #.

ServerRoot «/usr/local» – показывает верхний каталог по умолчанию. Файлы bin можно найти в sbin и bin. Файлы с настройками лежат в папке etc/apache.

ServerAdmin [email protected] – на данный адрес поступают отчеты о проблемах и ошибках.

ServerName www.example.com – дает возможность дать хосту имя.

DocumentRoot «/usr/local/www/data» – внутри данного каталога хранятся документы. Большинство запросов подвергаются обработке именно внутри данного каталога.

Желательно сделать копию настройки Apache Linux

, на случай сбоев или ошибок.

Запуск Apache Linux

Программа не запустится с помощью inetd, в отличие от большого числа прочих серверов. Потому, что он налажен под автономный запуск. Именно эта особенность обеспечивает высокую эффективность при работе с HTTP запросами от пользовательских браузеров обычных пользователей.

Чтобы упростить процессы запуска Apache Linux, рестарта или остановки сервера, можно использовать скрипт shell.

Команда для запуска:

# /usr/local/sbin/apachectl start

Команда для остановки:
# /usr/local/sbin/apachectl stop

Для перезапуска после внесения изменений:
# /usr/local/sbin/apachectl restart

Для запуска Apache Linux вместе с системой:
apache_enable="YES"

в файл /etc/rc.conf

Для того чтобы дать софту дополнительные функции при старте вместе с системой, нужно их поместить в дополнительную строчку в rc.conf:

apache_flags=""

После запуска Apache Linux, желательно проверить работоспособность своего веб сайта. Для этого нужно прописать в строке браузера localhost/. По умолчанию должна отобразиться страничка /usr/local/www/data/index.
html

Также рекомендуем Вам к прочтению статьи, имеющие к этой процедуре отношение:

Почтовый сервер на Linux, FTP сервер Linux, установка MySQL

Как запустить, остановить или перезапустить Apache

Apache – это кроссплатформенный HTTP-сервер с открытым исходным кодом. Он поставляется с мощными функциями и может быть расширен с помощью различных модулей.

Если вы разработчик или системный администратор, есть вероятность, что вы имеете дело с Apache на регулярной основе.

Запуск, остановка и перезапуск/перезагрузка являются наиболее распространенными задачами при работе с веб-сервером Apache. Команды для управления службой Apache различны в разных дистрибутивах Linux.

Большинство последних дистрибутивов Linux используют SystemD в качестве системы инициализации по умолчанию и менеджера сервисов. Старые дистрибутивы основаны на SysVinit и используют сценарии инициализации для управления сервисами. Еще одно отличие – название сервиса. В Ubuntu и Debian служба Apache называется apache2, а в системах на базе Red Hat, таких как CentOS, имя службы httpd.

В этой статье мы объясним, как запускать, останавливать и перезапускать Apache в самых популярных дистрибутивах Linux.

 

В инструкциях предполагается, что вы вошли в систему как пользователь root или пользователь с привилегиями sudo.

И служебные модули SystemD, и сценарий SysVinit принимают следующие аргументы для управления службой Apache:

  • start: Запускает службу Apache.
  • stop: Завершает службу Apache.
  • restart: Останавливается, а затем запускается служба Apache.
  • reload: Перезапускает службу Apache. При перезагрузке основной процесс Apache завершает работу дочерних процессов, загружает новую конфигурацию и запускает новые дочерние процессы.
  • status: Показывает статус сервиса.

 

SystemD – это менеджер систем и сервисов для последних версий Ubuntu ( 18.04 , 16.

04) и Debian ( 10 , 9 ).

Выполните следующую команду, чтобы запустить службу Apache:

sudo systemctl start apache2

 

Выполните следующую команду, чтобы остановить службу Apache:

sudo systemctl stop apache2

 

Всякий раз, когда вы вносите изменения в конфигурацию Apache, вам необходимо перезапускать процессы сервера. Выполните следующую команду, чтобы перезапустить службу Apache:

sudo systemctl restart apache2

 

Более старые (EOLed) версии Ubuntu или Debian используют сценарии init.d для запуска, остановки и перезапуска демона Apache:

sudo service apache2 start
sudo service apache2 stop
sudo service apache2 restart

 

Systemd является менеджером системы и сервиса для RHEL/CentOS 7 и 8.

Запустите сервис Apache:

sudo systemctl start httpd

 

Остановите службу Apache:

sudo systemctl stop httpd

 

Перезапустите сервис Apache:

sudo systemctl restart httpd

 

Если у вас CentOS 6 (или более ранняя версия), используйте следующие команды для запуска, остановки и перезапуска демона Apache:

sudo service httpd start
sudo service httpd stop
sudo service httpd restart

 

В этой статье мы показали, как запускать, останавливать и перезапускать веб-сервер Apache в различных системах Linux.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь комментировать ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Способы запуска сервера Apache. Сетевые средства Linux

Читайте также

Конфигурируем Apache 2

Конфигурируем Apache 2 Для Apache 2 описанные действия выглядят гораздо проще.# добавляем Content-Type для всех файлов с расширением .gzAddEncoding gzip .gz# включаем сжатие для HTML- и XML-файловAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# и для иконок (об этом чуть ниже)AddOutputFilterByType DEFLATE image/x-icon#

Конфигурация Apache 2

Конфигурация Apache 2 # выставляем заголовок Content-Encoding: gzipAddEncoding gzip . gz# с самого начала включаем gzip для текстовых файловAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# и для favicon.icoAddOutputFilterByType DEFLATE image/x-icon# также для CSS- и JavaScript-файловAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE

8.9. Запуск клиента без запуска сервера

8.9. Запуск клиента без запуска сервера Следующий сценарий, который мы рассмотрим, — это запуск клиента без запуска сервера. Если мы сделаем так и введем одну строку на стороне клиента, ничего не будет происходить. Клиент навсегда блокируется в своем вызове функции recvfrom,

Выбор способа запуска сервера

Выбор способа запуска сервера Поскольку серверы, предназначенные для выполнения в системе, могут запускаться по-разному, возникает проблема выбора наиболее приемлемого метода запуска конкретного сервера. Большинство серверов, поставляемых в виде дистрибутивных

12 Сервер Apache

12 Сервер Apache Эта глава посвящена популярному WWW-серверу Apache. Сервер Apache разработан и поддерживается организацией Apache Project. Первоначально, сервер Apache был разновидностью сервера Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского

12.1. Установка Apache

12.1. Установка Apache Для установки сервера Apache необходимо установить пакеты apache и apache-docs. В первом из них находится сам сервер, а во втором — документация. Желательно устанавливать самую новую версию. В последних версиях вам нужно установить еще и пакет apache-common, содержащий

12.

5. SSL и Apache

12.5. SSL и Apache 12.5.1. Установка SSL SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности в Интернет. Этот метод поддерживает несколько способов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на уровне

12.5.2. Подключение SSL к Apache

12.5.2. Подключение SSL к Apache Теперь осталось подключить mod_ssl к Apache. При этом следует учитывать, что вам нужна версия mod_ssl, которая совместима с вашей версией Apache. Иначе модуль mod_ssl будет некорректно работать или вообще откажется что-либо делать. Последние цифры в названии

16.1. Установка Apache

16. 1. Установка Apache В зависимости от дистрибутива, пакет, из которого устанавливается веб-сервер Apache, может называться apache или httpd, а пакет с документацией — apache-docs или httpd-manual соответственно. В первом случае вам понадобится установить еще пакет apache-common, содержащий

16.6. Сценарий запуска сервера Apache /etc/init.d/httpd

16.6. Сценарий запуска сервера Apache /etc/init.d/httpd Стандартный сценарий запуска веб-сервера Apache устанавливается из того же пакета, что и сам сервер, В версии Apache 2.0 можно вызывать сценарий запуска со следующими параметрами:? start — запуск сервера;? stop — завершение работы

16.10. SSL и Apache

16.10. SSL и Apache 16.10.1. Установка SSL SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности передачи данных. Этот метод поддерживает несколько методов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на

16.10.2. Подключение SSL к Apache

16.10.2. Подключение SSL к Apache Версия mod_ssl, которую вам нужно установить, должна быть совместима с вашей версией Apache, иначе модуль mod_ssl будет некорректно работать или вообще откажется что-либо делать. Последние цифры в названии модуля указывают на совместимость с определенной

16.13. Защита сервера Apache

16.13. Защита сервера Apache По окончании настройки сервера запретим изменение и удаление файла конфигурации:[[email protected]]# chattr +i /etc/httpd/conf/httpd.confПосле этого вы (и никто другой) не сможете изменить этот файл даже с помощью конфигуратора. Желательно также установить права 511 для

26.2.1. Установка Apache и PHP

26.2.1. Установка Apache и PHP Запустите менеджер Synaptic. В поле Быстрый поиск введите apache. Щелкните правой кнопкой мыши на пакете apache2 и выберите команду Отметить для установки. Менеджер пакетов сообщит вам, что нужно установить дополнительные пакеты (рис. 26.1). Нажмите кнопку

Команды для запуска Apache в Linux

Автор Глеб Захаров На чтение 2 мин. Просмотров 177 Опубликовано

Если ваш веб-сервер Linux Apache остановлен, вы можете использовать определенную команду командной строки, чтобы запустить его снова. Ничего не произойдет, если сервер уже был запущен во время выполнения команды, или вы можете увидеть сообщение об ошибке типа « Веб-сервер Apache уже работает. »

Если вы пытаетесь установить Apache, а не просто запустить его, ознакомьтесь с нашим руководством по установке Apache в Linux. Посмотрите, как перезапустить веб-сервер Apache, если вы хотите выключить Apache, а затем снова запустить его.

Как запустить веб-сервер Apache


Если Apache находится на вашем локальном компьютере, вы можете запускать эти команды как есть, иначе вам нужно будет удаленно подключиться к серверу, используя SSH или Telnet.

Например, ssh [email protected] подключит SSH к серверу Apache.

Шаги для запуска Apache немного отличаются в зависимости от вашей версии Linux:

Для Red Hat, Fedora и CentOS


Версии 4.x, 5.x, 6.x или старше должны использовать эту команду:

  $ sudo service httpd start  

Используйте эту команду для версий 7. x или новее:

  $ sudo systemctl start httpd.service  

Если они не работают, попробуйте эту команду:

  $ sudo /etc/init.d/httpd start  

Debian и Ubuntu


Используйте эту команду для Debian 8.x или новее и Ubuntu 15.04 и выше:

  $ sudo systemctl start apache2.service  

Ubuntu 12.04 и 14.04 могут потребовать эту команду:

  $ sudo start apache2  

Если они не работают, попробуйте один из них:

  $ sudo /etc/init.d/apache2 start  
$ sudo service apache2 start

Общие команды запуска Apache


Эти общие команды должны запускать Apache в любом дистрибутиве Linux:

  $ sudo apachectl start 
$ sudo apache2ctl start
$ sudo apachectl -f /path/to/your/httpd.conf

$ sudo apachectl -f /usr/local/apache2/conf/httpd.conf

Как работает Apache Spark на Kubernetes: скрипты, оператор, клиенты

Продолжая разговор про обучение Spark на реальных примерах, сегодня мы рассмотрим, как работает этот Big Data фреймворк на Kubernetes, популярной DevOps-платформе автоматизированного управления контейнеризированными приложениями. Читайте в нашей статье, как запустить приложение Apache Spark в кластере Kubernetes (K8s) с помощью submit-скрипта и оператора, а также при чем здесь Docker-образ.

Запуск приложения Apache Spark в кластере Kubernetes с помощью скрипта

Напомним, Apache Spark – это комплексный Big Data фреймворк для потоковой и пакетной обработки информации в режиме near real-time, а также аналитики больших данных. Запустить готовое приложение Спарк можно с помощью скрипта bin/spark-submit. Этот скрипт заботится о настройке пути к классам Spark и их зависимостями, поддерживая различные менеджеры кластеров, например, Hadoop Yarn или K8s, а также режимы развертывания [1].

Таким образом, spark-submit может напрямую отправлять приложения Спарк в кластер Kubernetes. Это работает следующим образом [2]:

  • Apache Spark создает собственный драйвер, работающий в поде (модуле) Kubernetes;
  • драйвер Спарк создает исполнителей, которые также работают в подах Kubernetes, подключается к ним и выполняет код приложения;
  • после завершения работы Spark-приложения исполнители на подах также завершают работу и очищаются, при этом под драйвера сохраняет журналы и остается в состоянии «завершено» в Kubernetes API до тех пор, пока так называемый мусор (garbage) не будет собран или очищен вручную;
  • важно, что в завершенном состоянии под драйвера не использует никаких вычислительных ресурсов или памяти.

Kubernetes сам планирует запуск по расписанию (scheduling) подов драйверов и исполнителей, а связь с Kubernetes API осуществляется через fabric8. Можно планировать запуск подов драйвера и исполнителя на подмножестве доступных узлов с помощью соответствующего селектора через настройку его конфигурации. В перспективе будет доступна привязка узлов или подов при планировании регулярного запуска задач на кластере K8s [2].

Работа Spark-приложений в кластере Kubernetes

Как работает Спарк-оператор в K8s

Как мы недавно рассказывали, с мая 2020 года Kubernetes поддерживает Spark Operator для Apache Spark 2.4.5 и выше. Он позволяет настраивать параметры конфигурации, например, монтировать ConfigMap с конфигурацией доступа к Hadoop в поды Спарк и запускать задачи по расписанию. Примечательно, что исходный код Spark Operator открыт и доступен на GitHub в репозитории Google Cloud Platform. 

Чтобы запустить задачи Спарк в кластере Kubernetes с помощью оператора, необходимо сделать следующее [3]:

  • создать Docker-образ со всеми библиотеками, конфигурационными и исполняемыми файлы;
  • опубликовать Docker-образ в реестр, доступный из кластера Kubernetes;
  • сформировать манифест с типом «SparkApplication» и описанием запускаемой задачи, включая указание версия API для оператора, пространства имён для запуска приложения, адрес созданного Docker-образа в доступном реестре, класса задачи Спарк, пути к исполняемому jar-файлу, версии, сервисной учётной записи для запуска приложения, количества выделяемых ресурсов и локальной директории, где будут создаваться локальные файлы задачи Спарк.

3 особенности работы приложений Apache Spark на Кубернетес в клиентском режиме

Спарк-приложение на K8s может быть запущено как в кластерном режиме, так и в режиме клиента. При запуске в клиентском режиме, драйвер может работать внутри пода Kubernetes или на физическом хосте. Поэтому рекомендуется учитывать следующие факторы [2]:

  • работа сети, т.к. исполнители Спарк должны иметь возможность подключаться к драйверу через имя хоста и порт, который маршрутизируется из них. Конкретная конфигурация сети, которая потребуется для работы Спарк в клиентском режиме, зависит от настройки. При запуске драйвера внутри пода Kubernetes можно использовать автономную службу, чтобы обеспечить маршрутизацию пода драйвера от исполнителей по стабильному имени хоста. При развертывании автономной службы следует убедиться, что селектор меток службы соответствует только поду драйвера, а не другим модулям. Рекомендуется присвоить поду драйвера уникальную метку и использовать ее в селекторе меток автономной службы.
  • сборка мусора (garbage collection) пода исполнителя, которая гарантирует, что после удаления пода драйвера из кластера все поды-исполнители приложения также будут удалены. Для этого следует установить spark.kubernetes.driver.pod.name в качестве имени пода драйвера, что позволит планировщику Спарк развертывать поды-исполнители с помощью OwnerReference. Драйвер будет искать под с заданным именем в пространстве имен, заданном параметром spark.kubernetes.namespace с учетом OwnerReference. Однако, не стоит устанавливать OwnerReference для пода, который на самом деле не является подом драйвера, чтобы работа исполнителей не завершилась преждевременно, когда будет удален ненужный под. Если Spark-приложение не работает внутри пода или свойство spark.kubernetes.driver.pod.name не задано, то поды-исполнители могут быть удалены из кластера, когда приложение закрывается. Планировщик Спарк пытается удалить эти поды, но, если сетевой запрос к API-серверу не выполняется, они останутся в кластере. Однако, процессы-исполнители завершаются, когда не могут связаться с драйвером, поэтому поды-исполнители не должны потреблять вычислительные ресурсы (ЦП и память) в кластере после завершения работы приложения.
  • параметры аутентификации Kubernetes в клиентском режиме Spark-приложения настраиваются через префикс spark.kubernetes.authenticate.

Больше подробностей по администрированию и эксплуатации Apache Spark для аналитики больших данных в проектах цифровизации своего бизнеса, а также государственных и муниципальных предприятий, вы узнаете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

 

Источники

  1. https://spark. apache.org/docs/latest/submitting-applications.html
  2. https://spark.apache.org/docs/latest/running-on-kubernetes.html
  3. https://habr.com/ru/company/neoflex/blog/511734/

 

Docker-запуск Apache на хосте и контейнере для разных веб-сайтов



Я хочу использовать Docker для того, чтобы иметь возможность запускать старое приложение, которое требует PHP 5.3, в то же время имея другие мои веб-сайты на моем хост-сервере, работающем на хосте Apache.

Итак, у меня есть siteA.com, siteB.com, siteC.com, работающие на хосте, используя хост Apache / PHP / MySQL сервер, и у меня есть siteZ.com, который установлен в контейнере Docker, который должен использовать контейнер Apache / PHP, но хост-сервер MySQL.

Вот представление архитектуры, которую я хотел бы получить :

Моя проблема заключается в том, что мне кажется, что я не могу запустить Apache в контейнере, так как порт 80 уже используется на хосте.

Моя цель состояла бы в том, чтобы люди могли получить доступ к siteA.com, siteB.com, siteC.com и siteZ.com, не указывая другой порт для любого из этих веб-сайтов.

Мне удалось запустить siteZ.com с помощью порта 8080, но это, очевидно, не вариант.

Спасибо

PS: Пожалуйста, обратите внимание, что я совершенно новичок в Docker.

Edit: вы можете найти мое рабочее решение здесь . Спасибо VonC за то, что показал мне путь 🙂

php mysql apache docker
Поделиться Источник AntoineB     25 августа 2015 в 03:30

3 ответа


  • Альпийские изображения на основе Docker полностью совместимы на хосте Ubuntu?

    Существуют ли какие-либо проблемы совместимости или известные ограничения при запуске образа Docker на базе Alpine на хосте Ubuntu? Я понимаю, что Docker обеспечивает изоляцию на уровне процесса и что вызовы машинных ресурсов выполняются через интерфейс cgroup. Но мне интересно (и я обеспокоен),…

  • Что такое PID в Хосте процесса, запущенного внутри контейнера Docker?

    Есть несколько процессов, запущенных в контейнере Docker, их PIDs изолированы в пространстве имен контейнеров, есть ли способ выяснить, каковы их PIDs на хосте Docker? Например, есть веб-сервер Apache, работающий внутри контейнера Docker (я использую образ Apache+PHP из концентратора Docker), и…



11

Благодаря ответу VonC мне удалось заставить его работать, но я немного изменил свою архитектуру, в результате чего получилось 3 контейнера вместо только 1.

У меня есть один контейнер для каждой версии Apache / PHP и один контейнер с Nginx в качестве обратного прокси-сервера. Я думаю, что вы можете легко адаптировать это для установки Nginx на хост и изменить его конфигурацию в соответствии с архитектурой, которую я описал в своем вопросе.

Обратите внимание, что, поскольку я новичок в Docker и новичок в системном администрировании Linux, возможно, есть некоторые ошибки и вещи, которые не имеют никакого смысла в следующих сценариях, но это работает для меня. Не стесняйтесь улучшать его 🙂


Nginx обратный прокси-образ

В Dockerfile :

FROM debian:jessie

MAINTAINER AntoineB version: 0.1

RUN apt-get update && \
    apt-get install -y --force-yes \
            nginx \
        nano

EXPOSE 80
EXPOSE 443

ADD ./proxy.conf /etc/nginx/conf.d/proxy.conf

CMD ["nginx"]

Вот ссылка на файл proxy.conf :

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size   16k;
proxy_buffers       32   16k;
proxy_busy_buffers_size 64k;

И я запускаю его с помощью следующего скрипта bash :

docker run -ti -d -p 80:80 -v /home/antoineb/Docker/images/nginxproxy/virtualhosts:/etc/nginx/sites-enabled --name nginxproxy nginxproxy /bin/bash

У меня есть папка /home/antoineb/Docker/images/nginxproxy/virtualhosts на моем хосте, которая содержит следующий файл default :

server {
       listen 80;

       server_name  siteZ. com;
       location / {
            proxy_pass http://apache22php53:80;
       }
}

server {
       listen 80;

       server_name  siteA.com;
       location / {
            proxy_pass http://apache24php56:80;
       }
}
server {
       listen 80;

       server_name  siteB.com;
       location / {
            proxy_pass http://apache24php56:80;
       }
}

Apache 2.2 + PHP 5.3 изображение

Dockerfile :

FROM debian:wheezy

MAINTAINER AntoineB version: 0.1

RUN apt-get update

RUN echo "deb http://packages.dotdeb.org squeeze all" > /etc/apt/sources.list.d/dotdeb_squeeze.list
RUN echo "deb-src http://packages.dotdeb.org squeeze all" >> /etc/apt/sources.list.d/dotdeb_squeeze.list
RUN echo "deb http://ftp.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list.d/dotdeb_squeeze.list

RUN echo "Package: *php*" > /etc/apt/preferences.d/php53.pref
RUN echo "Pin: release o=packages.dotdeb.org,n=squeeze" >> /etc/apt/preferences. d/php53.pref
RUN echo "Pin-Priority: 989" >> /etc/apt/preferences.d/php53.pref

RUN apt-get update && \
    apt-get install -y --force-yes \
            apache2 \
        php5 \
        php5-curl \
        php5-gd \
        php5-mysql \
        nano

RUN a2enmod \
            php5 \
        rewrite

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP    www-data
ENV APACHE_LOG_DIR  /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid

EXPOSE 80
EXPOSE 443

CMD /usr/sbin/apache2ctl -D FOREGROUND

Я запускаю его с помощью следующего скрипта :

docker run -ti -d -p 2253:80 -v /home:/home -v /home/antoineb/Docker/images/apache22php53/virtualhosts:/etc/apache2/sites-enabled --name apache22php53 apache22php53 /bin/bash

Мои веб-сайты хранятся в /home/website.com/www, а мои виртуальные хосты apache хранятся на хосте в /home/antoineb/Docker/images/apache22php53/virtualhosts .


Apache 2.4 + PHP 5.6.9 изображение

Dockerfile :

FROM debian:jessie

MAINTAINER AntoineB version: 0.1

RUN apt-get update && \
    apt-get install -y --force-yes \
            apache2 \
        php5 \
        php5-curl \
        php5-gd \
        php5-mysql \
        nano

RUN a2enmod \
            php5 \
        rewrite

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP    www-data
ENV APACHE_LOG_DIR  /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid

EXPOSE 80
EXPOSE 443

CMD /usr/sbin/apache2ctl -D FOREGROUND

Мой скрипт работает :

docker run -ti -d -p 2456:80 -v /home:/home -v /home/antoineb/Docker/images/apache24php56/virtualhosts:/etc/apache2/sites-enabled --name apache24php56 apache24php56 /bin/bash

Опять же, мои веб-сайты хранятся в /home/website.com/www, а мои виртуальные хосты apache хранятся на хосте в /home/antoineb/Docker/images/apache24php56/virtualhosts .

Поделиться AntoineB     25 августа 2015 в 16:44



9

Я не могу запустить Apache в контейнере, так как порт 80 уже используется на хосте.

Конечно, вы можете: в контейнере вы можете запустить Apache на любом порту, который вы хотите.

но когда вы делаете docker run , то вам нужно сопоставить этот контейнерный порт с хост-портом (который будет не be 80, так как он уже взят, а, например, 8080

docker run -d -p 8080:80 yourImage

Моя цель состояла бы в том, чтобы люди могли получить доступ к siteA.com, siteB.com, siteC.com и siteZ.com

Это называется обратным прокси-сервером, и вы можете запустить на порту 80 a NGiNX (в контейнере или нет), который затем обратит прокси обратно на siteA, B или C (каждый работает на другом порту, в контейнере или нет).
См., например, обратный прокси-сервер » Nginx с несколькими доменами ssl «.

Ваш main Apache больше не будет работать непосредственно на порту 80 (или может работать, если вы поместите его в контейнер!)

Цель, стоящая за помещением всего в свой собственный контейнер, — это изоляция .
Не только изоляция файловой системы с помощью chroot или изоляция памяти, но и изоляция конфигурации : в контейнере Apache всегда выполняется (если вы хотите) в 80/443, независимо от того, сколько Apache контейнеров запущено.
Вы просто запускаете их с соответствующим отображением порта хоста, но внутри контейнера конфигурация остается фиксированной и идентичной.

Поделиться VonC     25 августа 2015 в 05:25



0

Вы можете использовать маршрутизацию на основе хоста в docker glue

https://github.com/muayyad-alsadi/docker-glue

это легкий демон, который генерирует шаблоны haproxy на лету (вы можете определить шаблон nginx, если хотите), которые следят за метками контейнеров следующим образом

docker run -d --name wp1 -l glue_http_80_host='wp1. example.com' mywordpress/wordpress 
docker run -d --name wp2 -l glue_http_80_host='wp2.example.com' mywordpress/wordpress 

в этой настройке демон клея будет генерировать конфигурацию haproxy так, чтобы трафик на wp1.example.com шел в контейнер wp1

Поделиться Muayyad Alsadi     01 августа 2016 в 09:11


  • хостинг WordPress на Docker или на физическом хосте

    Я планирую создать общую хостинговую систему WordPress для клиентов. Необходимые услуги : PHP, MySQL/MariaDB, SFTP, (Nginx/Apache : какая из них лучше, быстрее и безопаснее ? ) Если я собираюсь использовать Docker, то приложения будут смонтированы на томе на хосте Docker, контейнер будет включать…

  • Docker несколько сайтов на разных портах

    Прямо сейчас у меня есть один статический сайт, работающий в контейнере docker, обслуживаемом на порту 80. Это хорошо работает, так как 80-это значение по умолчанию для общественного трафика. Таким образом, в моем файле /etc/hosts я могу добавить запись типа 127.0.0.1 example.dev и перейти к…


Похожие вопросы:


обнаружение процесса, запущенного на хосте, в контейнере docker

У меня есть контейнер docker, и мой скрипт работает внутри него. Скрипт определяет, работает ли chrome или firefox, а затем печатает какой-то журнал. Скрипт отлично работает на моем хосте с командой…


Apache переназначить на apache в контейнере docker

В настоящее время у меня есть сервер apache, на котором работает несколько виртуальных хостов. Однако я хочу использовать другую настройку apache на одном виртуальном хосте. Моя идея состоит в том,…


Apache, PHP, WordPress проблема кэширования в контейнере Docker

Я нахожусь на OS X, используя драйвер Virtualbox для docker. Используя официальный образ WordPress docker, я настроил том с моей локальной машины для сопоставления с контейнером. ..


Альпийские изображения на основе Docker полностью совместимы на хосте Ubuntu?

Существуют ли какие-либо проблемы совместимости или известные ограничения при запуске образа Docker на базе Alpine на хосте Ubuntu? Я понимаю, что Docker обеспечивает изоляцию на уровне процесса и…


Что такое PID в Хосте процесса, запущенного внутри контейнера Docker?

Есть несколько процессов, запущенных в контейнере Docker, их PIDs изолированы в пространстве имен контейнеров, есть ли способ выяснить, каковы их PIDs на хосте Docker? Например, есть веб-сервер…


хостинг WordPress на Docker или на физическом хосте

Я планирую создать общую хостинговую систему WordPress для клиентов. Необходимые услуги : PHP, MySQL/MariaDB, SFTP, (Nginx/Apache : какая из них лучше, быстрее и безопаснее ? ) Если я собираюсь…


Docker несколько сайтов на разных портах

Прямо сейчас у меня есть один статический сайт, работающий в контейнере docker, обслуживаемом на порту 80. Это хорошо работает, так как 80-это значение по умолчанию для общественного трафика. Таким…


Apache веб-сервер и микросервисы с Docker

У меня есть несколько микросервисов spring boot, работающих на Docker, и веб-сервер Apache (также работающий на Docker) для всех статических вещей. Микросервисы используются веб-браузером. Проблема…


Как использовать nginx для обслуживания веб-приложения в контейнере Docker

Я запускаю webserver running Ubuntu 18.04, который в настоящее время обслуживает веб-сайт и пару блогов. Я также хотел бы настроить веб-приложение Ruby on Rails на паре контейнеров Docker (чтобы я…


Docker apache образ, хранящий логи в Хосте?

Я использую Docker для создания образа Apache, а затем использую docker-compose для его запуска. Я настроил Apache access.log и error.log и хочу хранить их вне контейнера. в настоящее время я…

Запуск / остановка и перезапуск команды веб-сервера Apache 2

Как перезапустить веб-сервер Apache 2 в операционных системах Debian / Ubuntu / CentOS / RHEL / Fedora Linux или UNIX? Можете ли вы сказать мне команду для запуска или остановки веб-сервера Apache 2, работающего в Linux?

Подробности руководства
Уровень сложности Easy
Права root Да
Требования Apache 2 на Linux / Unix
Приблиз. время чтения 3 мин.
Apache в основном используется для обслуживания как статического контента, так и динамических веб-страниц во всемирной паутине. Многие веб-приложения разработаны с учетом среды и функций, которые предоставляет Apache. Apache можно запустить или перезапустить с помощью любого из следующих методов в Linux или Unix-подобных системах.

Сначала войдите на свой веб-сервер с помощью клиента ssh, если сервер не находится в вашем локальном центре обработки данных:
ssh root @ your.server.com
После входа в систему введите следующие команды в соответствии с вашим вариантом Linux или Unix.

Debian / Ubuntu Linux Специальные команды для запуска / остановки / перезапуска Apache

Вы можете использовать команду service или /etc/init.d/ следующим образом в Debian Linux версии 7.x или Ubuntu Linux версии Ubuntu 14.10 или более ранней версии :

Перезапустите веб-сервер Apache 2, введите:

# /etc/init. d/apache2 restart
OR
$ sudo /etc/init.d/apache2 restart
OR
$ sudo service apache2 restart

Чтобы остановить веб-сервер Apache 2, введите:

# / etc / init.d / apache2 stop
OR
$ sudo /etc/init.d/apache2 stop
OR
$ sudo service apache2 stop

Чтобы запустить веб-сервер Apache 2, введите:

# /etc/init.d/apache2 start
OR
$ sudo /etc/init.d/apache2 start
OR
$ sudo service apache2 start

Примечание о пользователях Debian / Ubuntu Linux

systemd

Используйте следующую команду systemctl в Debian Linux версии 8.x + или Ubuntu Linux версии Ubuntu 15.04+ или выше :
## Команда запуска ##
systemctl start apache2.service
## Команда остановки ##
systemctl stop apache2.service
## Команда перезапуска ##
systemctl restart apache2 . service

Мы можем просмотреть статус, используя следующую команду:
$ sudo systemctl status apache2.service

 ● apache2.service - HTTP-сервер Apache
     Загружено: загружено (/lib/systemd/system/apache2.service; включено; предустановка поставщика: включено)
     Активен: активен (работает) с Ср 2021-02-24 20:39:39 UTC; 5 дней назад
       Документы: https: // httpd.apache.org/docs/2.4/
    Процесс: 115 ExecStart = / usr / sbin / apachectl start (код = завершен, статус = 0 / УСПЕХ)
    Процесс: 15247 ExecReload = / usr / sbin / apachectl graceful (код = завершен, статус = 0 / УСПЕХ)
   Основной PID: 128 (apache2)
      Задач: 6 (лимит: 4672)
     Память: 16,4 МБ
     CGroup: /system.slice/apache2.service
             ├─ 128 / usr / sbin / apache2 -k start
             ├─15254 / usr / sbin / apache2 -k start
             ├─15255 / usr / sbin / apache2 -k start
             ├─15256 / usr / sbin / apache2 -k start
             ├─15257 / usr / sbin / apache2 -k start
             └─15258 / usr / sbin / apache2 -k start

27 февраля 00:00:23 ubuntu-db-mgmnt systemd [1]: перезагрузка HTTP-сервера Apache. 28 февраля 00:00:23 ubuntu-db-mgmnt systemd [1]: перезагрузка HTTP-сервера Apache.

 

CentOS / RHEL (Red Hat) Linux версии 4.x / 5.x / 6.x или более ранние специальные команды

## Start ##
service httpd start
## Stop ##
service httpd stop
## Restart ##
service httpd restart

CentOS / RHEL (Red Hat) Linux версии 7.x или новее, специальные команды

Самый современный дистрибутив сейчас использует systemd, поэтому вам нужно использовать следующую команду systemctl:
## Команда запуска ##
systemctl start httpd.service
## Stop command ##
systemctl stop httpd.service
## Restart command ##
systemctl restart httpd.service

Alpine Linux запуск / остановка / перезапуск Apache 2 с использованием openrc

Нам нужно использовать служебную команду от имени пользователя root:
# service apache2 start
# service apache2 stop
# service apache2 status
# service apache2 restart

Session:

 * Остановка apache2 . ..
 * Запуск apache2
 

Пользователи FreeBSD Unix

Пользователь FreeBSD может перезапустить Apache следующим образом:
# / usr / local / etc / rc.d / apache22 перезапуск
# перезапуск службы apache22
# остановка службы apache22
# запуск службы apache22

Общий метод запуска / остановки / перезапуска Apache в Linux / Unix

Синтаксис следующий (должен запускаться от имени пользователя root):
## остановить его ##
apachectl -k stop
## перезапустить его ##
apachectl -k restart
## изящный перезапуск ##
apachectl -k graceful
## Запустить ##
apachectl -f /path/to/your/httpd.conf
apachectl -f / usr / local / apache2 / conf / httpd.конф

/usr/local/etc/rc.d/apache22 перезапуск

Подведение итогов

Вы узнали, как запускать, останавливать или перезапускать веб-сервер Apache 2 с помощью командной строки в сеансе на основе ssh.



Запуск Apache — HTTP-сервер Apache версии 2.4

В Windows Apache обычно запускается как служба. Дополнительные сведения см. В разделе «Запуск Apache как службы».

В Unix программа httpd запускается как демон, который постоянно работает в фон для обработки запросов.В этом документе описывается, как для вызова httpd .

См. Также

Если Слушайте указано в файле конфигурации, по умолчанию 80 (или любой другой порт ниже 1024), то необходимо иметь root-права в чтобы запустить apache, чтобы он мог привязаться к этому привилегированному порт. После того, как сервер запустился и выполнил несколько предварительных такие действия, как открытие файлов журнала, запустит несколько дочерний процесс , который выполняет работу по прослушиванию и отвечая на запросы клиентов.Основной httpd процесс продолжает работать от имени пользователя root, но дочерние процессы работать от имени менее привилегированного пользователя. Это контролируется выбранными Модуль мультиобработки.

Рекомендуемый метод вызова httpd исполняемый файл должен использовать сценарий управления apachectl . Этот скрипт устанавливает определенные переменные среды, которые необходимы для httpd для правильной работы в некоторых операционных systems, а затем вызывает двоичный файл httpd . apachectl будет проходить через любую командную строку аргументы, поэтому любые параметры httpd также могут использоваться с apachectl . Вы также можете напрямую редактировать apachectl скрипт, изменив HTTPD переменная вверху, чтобы указать правильное расположение httpd двоичный и любые аргументы командной строки, которые вы желаю быть всегда присутствующим.

Первое, что делает httpd , когда он вызывается, чтобы найти и прочитать файл конфигурации httpd. conf . Расположение этого файла установлено в во время компиляции, но можно указать его местоположение при запуске time с помощью параметра командной строки -f , как в

/ USR / местные / apache2 / bin / apachectl -f /usr/local/apache2/conf/httpd.conf

Если во время запуска все пойдет хорошо, сервер отключится от терминал и командная строка вернутся почти немедленно. Это указывает на то, что сервер запущен и работает. Затем вы можете использовать свой браузер для подключения к серверу и просмотра тестовая страница в каталоге DocumentRoot .

Если Apache столкнется с фатальной проблемой во время запуска, он напишите сообщение с описанием проблемы либо в консоль, либо до ErrorLog до выход. Одно из наиболее частых сообщений об ошибке — « Unable» для привязки к порту ... «. Это сообщение обычно вызывается либо:

  • Попытка запустить сервер на привилегированном порте, когда нет вошел в систему как пользователь root; или
  • Попытка запустить сервер при наличии другого экземпляра Apache или другого веб-сервера, уже привязанного к тому же Порт.

Для получения дополнительных инструкций по поиску и устранению неисправностей обратитесь к FAQ по Apache.

Если вы хотите, чтобы ваш сервер продолжал работать после перезагрузитесь, вы должны добавить вызов apachectl в свой файлы запуска системы (обычно rc.local или файл в справочник rc.N ). Это запустит Apache как корень. Перед тем как это сделать, убедитесь, что ваш сервер исправен. настроен для безопасности и ограничений доступа.

Сценарий apachectl предназначен для работы как стандартный сценарий инициализации SysV; он может принимать аргументы начать , перезапустить и остановить и преобразовать их в соответствующие сигналы, чтобы httpd .Так что часто можно просто связать apachectl в соответствующий каталог инициализации. Но будь обязательно проверьте точные требования вашей системы.

Дополнительная информация о параметрах командной строки httpd и apachectl , а также о другой поддержке программы, поставляемые с сервером, доступны на Страница Сервер и вспомогательные программы. Также есть документация по всем модулям, включенным в дистрибутив Apache. и директивы, которые они предоставлять.

Как запустить / остановить / перезапустить сервер Apache

Apache является частью популярного программного обеспечения LAMP (Linux, Apache, MySQL, PHP). По умолчанию он включен в последнюю версию Ubuntu 18.04.

Это руководство покажет вам , как запускать, останавливать и перезапускать службу Apache в Ubuntu с помощью терминала.

  • Доступ к учетной записи пользователя с sudo или привилегиями root
  • Установленная и настроенная установка Apache
  • Менеджер пакетов apt , включен по умолчанию
  • Окно командной строки / терминала (Ctrl-Alt-T)

Ubuntu 18.

04, 16.04 и команды Debian 9.x

Для пользователей Ubuntu с версиями 16.04 и 18.04 и пользователей Debian 9.x используйте следующие команды в окне терминала, чтобы запустить Apache :

  sudo systemctl start apache2  

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

  sudo systemctl статус apache2  

Если он запущен, он должен отобразить сообщение активно (работает) , как на изображении ниже.

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

  sudo systemctl stop apache2  

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

  sudo systemctl статус apache2  

Если он остановился, он должен отобразить сообщение в активный (мертвый) , как на изображении ниже.

Перезапустите веб-сервер Apache

Для перезапуска Apache используйте команду:

  sudo systemctl перезапустить apache2  

Если Apache был ранее отключен, проверка состояния покажет, что он снова запущен и работает.

Ubuntu 14.10 или более ранняя версия Debian

Для пользователей Ubuntu и Debian с более ранней версией используйте следующие команды в окне терминала, чтобы запустить Apache :

  sudo service apache2 start  

или

  судо /etc/init.d/apache2 начало  

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

  sudo service apache2 статус  

или

  sudo / etc / init. d / apache2 статус  

Должно отобразиться сообщение активно (работает).

Чтобы остановить Apache , используйте следующую команду:

  служба sudo apache2 stop  

или

  судо /etc/init.d/apache2 stop  

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

  sudo /etc/init.d/apache2 статус  

Он должен отобразить сообщение в активный (мертвый) , как на изображении ниже.

Для перезапуска Apache используйте команду:

  sudo service apache2 перезапуск  

или

  sudo /etc/init.d/apache2 перезапуск  

Примечание: Выполнение команды перезапуска может занять несколько секунд, в зависимости от сложности конфигурации вашего сервера. Если вы используете большую или сложную конфигурацию сервера, это может вызвать сбои у пользователей, которые полагаются на сервер.

Запуск, остановка и перезапуск службы Apache в Ubuntu очень просты.Знание того, как выполнять эти основные задачи из строки терминала, делает задачу быстрее и проще.

Как остановить, запустить и перезапустить Apache в различных дистрибутивах Linux

Вам нужно знать, как запускать, останавливать, перезапускать, включать и отключать Apache? Вот как.

Ваш бизнес зависит от веб-сайтов, которые привлекают клиентов. Если ваш центр обработки данных использует Linux, скорее всего, ваши веб-сайты работают на веб-сервере Apache.В таком случае вы можете захотеть узнать, как управлять этой службой.

Конечно, вы можете подумать: «Разве Apache не включен и не запущен при установке?» Конечно, это так, и так будет и дальше, если вы не примете меры. Но бывают случаи, когда вам может потребоваться остановить, перезапустить и даже отключить веб-сервер. Вот почему вам нужно знать, как это контролировать.

Однако вы также можете обнаружить, как это работает, в зависимости от используемого вами дистрибутива. Давайте узнаем, как позаботиться об остановке, запуске и перезапуске веб-сервера Apache в Ubuntu / Debian (и их производных), CentOS / RHEL (и их производных) и в дистрибутивах, не относящихся к systemd.

СМОТРЕТЬ: Набор для найма: администратор базы данных (TechRepublic Premium)

Что вам понадобится

Единственное, что вам понадобится для этого:

  • Работающий дистрибутив с веб-сервером Apache установлен
  • Учетная запись пользователя с привилегиями sudo

Итак, приступим к работе.

Как запустить, остановить и перезапустить Apache в Ubuntu / Debian

Сначала мы позаботимся об этом на одном из самых широко распространенных серверных дистрибутивов на планете.В Ubuntu служба Apache называется apache2 и управляется через systemd с помощью команды systemctl.

Чтобы запустить Apache, введите команду:

 sudo systemctl start apache2 

Чтобы остановить Apache, введите команду:

 sudo systemctl stop apache2 

Чтобы перезапустить сервер Apache, введите команду:

 sudo systemctl restart apache2 

Если вы изменили только файл конфигурации и вам нужно перезагрузить этот файл, вы можете сделать это без полного перезапуска Apache с помощью команды:

 sudo systemctl reload apache2 

Для автоматического перезапуска Apache при загрузке системы необходимо включить службу с помощью команды:

 sudo systemctl enable apache2 

Чтобы отключить службу Apache (и предотвратить ее запуск при загрузке), введите команду:

 sudo systemctl disable apache2 

Чтобы получить статус службы Apache, введите команду:

 sudo systemctl status apache2 

Команда status предоставит вам довольно много информации.Вы хотите найти активный (работающий) листинг (, рис. A, ).

Рисунок A

Как запустить, остановить и перезапустить Apache на CentOS / RHEL

Теперь мы обратимся к другой любимой серверной платформе - на базе Red Hat Enterprise Linux (RHEL). В отличие от Ubuntu, который устанавливает Apache как apache2, эти разновидности Linux устанавливают службу Apache как httpd. С другой стороны, в обоих случаях используются команды systemd и systemctl. Из-за этого запуск / остановка / включение Apache очень похожи.

Чтобы запустить Apache, введите команду:

 sudo systemctl start httpd 

Чтобы остановить сервер Apache, введите команду:

 sudo systemctl stop httpd 

Чтобы перезапустить сервер Apache, введите команду:

 sudo systemctl restart httpd 

Чтобы перезагрузить файлы конфигурации Apache, введите команду:

 sudo systemctl reload httpd 

Чтобы включить службу Apache, введите команду:

 sudo systemctl enable httpd 

Чтобы отключить службу Apache, введите команду:

 sudo systemctl disable httpd 

Как запустить, остановить и перезапустить Apache в системах, отличных от systemd.

Что делать, если ваша система не использует systemd? Тебе не повезло.При установке Apache приходит команда apachectl. Остановка, запуск и перезапуск Apache с помощью этой команды очень похожи на приведенную выше.

Чтобы запустить Apache, введите команду:

 sudo apachectl start 

Чтобы остановить Apache, введите команду:

 sudo apachectl stop 

Чтобы перезапустить Apache, введите команду:

 sudo apachectl restart 

Чтобы получить статус службы Apache, введите команду:

 sudo apachectl status 

Чтобы перезагрузить файлы конфигурации, введите команду:

 sudo apachectl reload 

Чтобы включить запуск Apache при загрузке, введите команду:

 sudo apachectl enable 

Чтобы отключить службу Apache, введите команду:

 sudo apachectl disable 

И это, друзья мои, должно охватывать вас для остановки, запуска, перезагрузки, включения и отключения веб-сервера Apache, независимо от вашего дистрибутива. Хотя это может быть дополнительный дистрибутив, который не покрывается, у вас не должно возникнуть проблем с управлением веб-сервером в Linux.

Информационный бюллетень тенденций центров обработки данных

DevOps, виртуализация, гибридное облако, хранилище и операционная эффективность - вот лишь некоторые из тем, которые мы выделим для центров обработки данных.Доставка по понедельникам и средам.

Зарегистрироваться Сегодня

См.

Также

Команды для запуска Apache в Linux

Если ваш веб-сервер Linux Apache остановлен, используйте команду оболочки, чтобы снова запустить его.Ничего не произойдет, если сервер уже был запущен при выполнении команды, или вы можете увидеть сообщение об ошибке типа « веб-сервер Apache уже запущен. »

Как запустить веб-сервер Apache

Если Apache находится на вашем локальном компьютере, вы можете запускать эти команды как есть, иначе вам нужно будет удаленно подключиться к серверу с помощью SSH или Telnet. Например, ssh [email protected] подключится к серверу Apache по SSH.

Шаги по запуску Apache немного отличаются в зависимости от вашей версии Linux:

для Red Hat, Fedora и CentOS

Версии 4.x, 5.x, 6.x или старше должны использовать эту команду:

$ sudo service httpd start 

Используйте эту команду для версий 7.x или новее:

$ sudo systemctl start httpd. service 

Если они не работают, попробуйте эту команду:

$ sudo /etc/init.d/httpd start 

Debian и Ubuntu

Используйте эту команду для Debian 8.x или новее и Ubuntu 15.04 и новее:

$ sudo systemctl start apache2.service 

Ubuntu 12.04 и 14.04 может потребоваться эта команда:

$ sudo start apache2 

Если они не работают, попробуйте одно из следующих:

$ sudo /etc/init.d/apache2 start 
$ sudo service apache2 start

Общие команды запуска Apache

Эти общие команды должны запускать Apache в любом дистрибутиве Linux:

$ sudo apachectl start 
$ sudo apache2ctl start
$ sudo apachectl -f /path/to/your/httpd.conf
$ sudo apachectl -f / usr / local / apache2 / conf / httpd.конф

Для запуска сервера требуются повышенные разрешения, поэтому либо войдите в систему как пользователь root, либо (желательно) выполните команду start, используя учетную запись, которая является частью группы sudo.

Спасибо, что сообщили нам!

Расскажите, почему!

Другой Недостаточно подробностей Сложно понять

Запуск Apache

Запуск Apache

Вызов Apache

Программа httpd обычно запускается как демон, который выполняет постоянно, обрабатывая запросы.Вызвать Apache можно с помощью Интернет-демон inetd каждый раз при подключении к HTTP услуга сделана (используйте Директива ServerType) но это не рекомендуется.

Параметры командной строки

В командной строке httpd распознаются следующие параметры:
-d serverroot
Установите начальное значение для Переменная ServerRoot для serverroot . Это можно изменить с помощью команды ServerRoot в конфигурационный файл.По умолчанию это / usr / local / etc / httpd .
-f конфигурация
Выполнять команды из файла config при запуске. Если Конфигурация не начинается с /, тогда она считается путь относительно ServerRoot. В по умолчанию - conf / httpd.conf .
-X
Запускать в однопроцессном режиме только для целей внутренней отладки; в демон не отключается от терминала и не разветвляет дочерние элементы.Делать НЕ используйте этот режим для предоставления обычной веб-службы.
-v
Распечатайте версию httpd и выйдите.
-h
Укажите список директив с ожидаемыми аргументами и места, где действует директива. (Новое в Apache 1.2)
-l
Укажите список всех модулей, скомпилированных на сервере.
-?
Распечатайте список параметров httpd и выйдите.

Файлы конфигурации

Сервер прочитает три файла для директив конфигурации. Любая директива может появиться в любом из этих файлов. Имена этих файлов взяты быть относительно корня сервера; это установлено Директива ServerRoot или -d флаг командной строки. Условно это файлы:
conf / httpd.conf
Содержит директивы, управляющие работой демона сервера. Имя файла можно переопределить с помощью флага командной строки -f .
conf / srm.conf
Содержит директивы, управляющие спецификацией документов, сервер может предоставлять клиентам. Имя файла может быть заменено на директива ResourceConfig.
conf / access.conf
Содержит директивы, управляющие доступом к документам. Имя файла может быть заменено Директива AccessConfig.
Однако нет необходимости соблюдать эти правила.

Сервер также читает файл, содержащий типы документов mime; имя файла устанавливается директивой TypesConfig, и составляет conf / mime.по умолчанию набирает .

Файлы журнала

предупреждение системы безопасности

Любой, кто может писать в каталог, в который Apache пишет файл журнала почти наверняка может получить доступ к uid, который сервер запускается как root. Делайте НЕ давайте людям писать доступ к каталогу, в котором хранятся журналы, без ведома последствия; см. советы по безопасности документ для деталей.

pid файл

При запуске демона он сохраняет идентификатор родительского процесса httpd в файл logs / httpd.pid . Это имя файла можно изменить с помощью Директива PidFile. Идентификатор процесса предназначен для использование администратором при перезапуске и завершении работы демона; Сигнал HUP или USR1 заставляет демон перечитать свои файлы конфигурации и сигнал TERM заставляет его изящно умереть. Для дополнительной информации см. страницу «Остановка и перезапуск».

Если процесс умирает (или прерывается) ненормально, то необходимо будет убить дочерние процессы httpd.

Журнал ошибок

Сервер будет записывать сообщения об ошибках в файл журнала logs / error_log . по умолчанию.Имя файла можно установить с помощью Директива ErrorLog; различные журналы ошибок могут быть установленным для разных виртуальных хостов.

Протокол передачи

Сервер обычно записывает каждый запрос в файл передачи, logs / access_log по умолчанию. Имя файла можно установить с помощью Директива TransferLog; разные журналы передачи могут быть установлены для разных виртуальных хосты.

25,3. Запуск и остановка httpd Red Hat Enterprise Linux 5

RPM httpd устанавливает / etc / init.d / httpd , доступ к которому можно получить с помощью команды / sbin / service .

Запуск httpd с использованием сценария управления apachectl устанавливает переменные среды в / etc / sysconfig / httpd и запускает httpd . Вы также можете установить переменные среды с помощью сценария инициализации.

Чтобы запустить сервер с использованием сценария управления apachectl в качестве корневого типа:

  apachectl start  

Вы также можете запустить httpd , используя / sbin / service httpd start .Это запускает httpd , но не устанавливает переменные среды. Если вы используете директиву Listen по умолчанию в httpd.conf , который является портом 80, вам потребуются привилегии root для запуска сервера apache.

Чтобы остановить сервер, введите root:

  apachectl stop  

Вы также можете остановить httpd , используя / sbin / service httpd stop . Параметр restart - это сокращенный способ остановки и последующего запуска HTTP-сервера Apache.

Вы можете перезапустить сервер как root, набрав:

  перезапуск apachectl  

или же:

  сервис httpd перезапуск  

Apache отобразит сообщение на консоли или в ErrorLog , если обнаружит ошибку при запуске.

По умолчанию служба httpd не запускает , а автоматически во время загрузки. Если вы хотите, чтобы Apache запускался во время загрузки, вам нужно будет добавить вызов apachectl в ваши файлы запуска в rc.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *