Запуск и управление 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.conf – данный файл предназначен для совместимости и он совершенно пустой.
mods-available/ — каталог с подключаемыми модулями.
sites-available/ — каталог подключаемых файлов, которые активируют виртуальные хосты после установки Apache Linux.
Модуль или виртуальный хост можно активировать с помощью a2ensite и a2enmod.
Настройка Apache Linux
Правильная настройка apache Linux предполагает набор специальных знаний и навыков. Файл настройки лежит по пути /usr/local/etc/apache/httpd.conf. Должно присутствовать три файла настроек, которые помогут настроить все параметры вашего сервера. По сути это простой тестовый документ, в котором каждая строка начинается с #.
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.
Также рекомендуем Вам к прочтению статьи, имеющие к этой процедуре отношение:
Почтовый сервер на 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: Показывает статус сервиса.
Запустите, остановите и перезапустите Apache в Ubuntu и Debian
SystemD – это менеджер систем и сервисов для последних версий Ubuntu ( 18.04 , 16.
Выполните следующую команду, чтобы запустить службу 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
Запустите, остановите и перезапустите Apache на RHEL/CentOS
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-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 и Apache12.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 По окончании настройки сервера запретим изменение и удаление файла конфигурации:[root@webserver]# 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-файлу, версии, сервисной учётной записи для запуска приложения, количества выделяемых ресурсов и локальной директории, где будут создаваться локальные файлы задачи Спарк.
Спарк-приложение на 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 в Москве:
Источники
- https://spark. apache.org/docs/latest/submitting-applications.html
- https://spark.apache.org/docs/latest/running-on-kubernetes.html
- 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 мин. |
Сначала войдите на свой веб-сервер с помощью клиента 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.