Как перезапустить окна Apache
Обновлено: 24.11.2024
В этом документе объясняется, как установить, настроить и запустить Apache 2.0 в Microsoft Windows. Если вы обнаружите какие-либо ошибки или хотите внести свой вклад другим способом, воспользуйтесь нашей страницей сообщений об ошибках.
В этом документе предполагается, что вы устанавливаете двоичный дистрибутив Apache. Если вы хотите скомпилировать Apache самостоятельно (возможно, чтобы помочь в разработке или отследить ошибки), см. раздел Компиляция Apache для Microsoft Windows.
Из-за текущих политик управления версиями в семействах операционных систем Microsoft Windows в этом документе предполагается следующее:
- Требования к операционной системе
- Загрузка Apache для Windows
- Установка Apache для Windows
- Настройка Apache для Windows
- Запуск Apache как службы
- Запуск Apache в качестве консольного приложения
- Проверка установки
Требования к операционной системе
Основной платформой Windows для запуска Apache 2.0 является Windows NT. Двоичный установщик работает только с процессорами семейства x86, такими как процессоры Intel и AMD. Запуск Apache в Windows 9x тщательно не тестировался, и его никогда не рекомендуется использовать в производственных системах.
Во всех операционных системах должна быть установлена и работать сеть TCP/IP. При работе в Windows 95 необходимо установить обновление Winsock 2. Winsock 2 для Windows 95 можно скачать отсюда.
В Windows NT 4.0 настоятельно рекомендуется установить пакет обновления 6, так как пакет обновления 4 создал известные проблемы с целостностью TCP/IP и Winsock, которые были устранены в более поздних пакетах обновления.
Загрузка Apache для Windows
Для установки в Windows необходимо загрузить версию Apache для Windows с расширением .msi. Это единый файл установщика Microsoft, который содержит готовую к запуску версию Apache. Существует отдельный файл .zip, который содержит только исходный код. Вы можете самостоятельно скомпилировать Apache с помощью инструментов Microsoft Visual C++ (Visual Studio).
Установка Apache для Windows
Для установки вам потребуется Microsoft Installer 1.2 или более поздней версии. В Windows 9x вы можете обновить установщик Microsoft до версии 2.0 здесь, а в Windows NT 4.0 и 2000 обновление версии 2.0 можно найти здесь. Для Windows XP это обновление не требуется.
Обратите внимание, что вы не можете установить две версии Apache 2.0 на один и тот же компьютер с помощью двоичного установщика. Однако вы можете без проблем установить версию серии 1.3 и версию серии 2.0 на один и тот же компьютер. Если вам нужно иметь две разные версии 2.0 на одном компьютере, вам необходимо скомпилировать и установить Apache из исходного кода.
Запустите файл Apache .msi, который вы скачали выше. Программа установки спросит вас о следующих вещах:
Адрес электронной почты администратора. Введите здесь адрес электронной почты администратора сервера или веб-мастера. Этот адрес будет отображаться вместе с сообщениями об ошибках для клиента по умолчанию.
Для кого установить Apache Select для всех пользователей на порт 80 в качестве службы. Рекомендуется, если вы хотите, чтобы ваш новый Apache прослушивал порт 80 для входящего трафика. Он будет работать как служба (то есть Apache будет работать, даже если в данный момент никто не вошел в систему на сервере) Выберите только для текущего пользователя на порту 8080 при запуске Вручную, если вы хотите установить Apache для ваши личные эксперименты или если у вас уже есть другой WWW-сервер, работающий на порту 80.
Тип установки. Выберите «Типичный» для всего, кроме исходного кода и библиотек для разработки модулей. С помощью Custom вы можете указать, что устанавливать. Для полной установки потребуется около 13 мегабайт свободного места на диске. Это не включает размер вашего веб-сайта(ов).
Где установить. Путь по умолчанию — C:\Program Files\Apache Group, в котором по умолчанию будет создан каталог с именем Apache2.
Кроме того, если у вас уже есть файл с именем htdocs\index.html , он не будет перезаписан (и index.html.default также не будет установлен). Это означает, что установка Apache поверх существующей установки должна быть безопасной, хотя вам придется остановить существующий работающий сервер перед установкой, а затем запустить новый после завершения установки.
После установки Apache необходимо отредактировать файлы конфигурации в подкаталоге conf по мере необходимости. Эти файлы будут настроены во время установки, чтобы Apache был готов к запуску из каталога, в который он был установлен, с сервером документов из подкаталога htdocs. Есть много других параметров, которые вы должны установить, прежде чем действительно начнете использовать Apache. Однако для быстрого начала работы файлы должны работать так, как они установлены.
Настройка Apache для Windows
Apache настраивается с помощью файлов в подкаталоге conf. Это те же самые файлы, которые используются для настройки версии Unix, но есть несколько других директив для Apache в Windows.Все доступные директивы см. в указателе директив.
Поскольку Apache для Windows является многопоточным, он не использует отдельный процесс для каждого запроса, как это делает Apache в Unix. Вместо этого обычно работают только два процесса Apache: родительский процесс и дочерний процесс, который обрабатывает запросы. Внутри дочернего процесса каждый запрос обрабатывается отдельным потоком.
Директивы управления процессами также отличаются:
MaxRequestsPerChild: как и директива Unix, определяет, сколько запросов будет обслуживать один дочерний процесс перед выходом. Однако, в отличие от Unix, один процесс обслуживает все запросы одновременно, а не только один. Если это установлено, рекомендуется использовать очень большое число. Рекомендуемое значение по умолчанию, MaxRequestsPerChild 0 , приводит к тому, что дочерний процесс никогда не завершается.
ThreadsPerChild: эта директива является новой. Он сообщает серверу, сколько потоков он должен использовать. Это максимальное количество соединений, которое сервер может обрабатывать одновременно, поэтому убедитесь, что это число достаточно велико для вашего сайта, если вы получаете много посещений. Рекомендуемое значение по умолчанию — ThreadsPerChild 50 .
Директивы, которые принимают имена файлов в качестве аргументов, должны использовать имена файлов Windows, а не Unix. Однако, поскольку внутри Apache используются имена в стиле Unix, вы должны использовать прямую косую черту, а не обратную косую черту. Можно использовать буквы дисков; если опущено, предполагается, что это диск с исполняемым файлом Apache.
Apache для Windows позволяет загружать модули во время выполнения без перекомпиляции сервера. Если Apache скомпилирован нормально, он установит несколько дополнительных модулей в каталог \Apache2\modules. Для активации тех или иных модулей необходимо использовать новую директиву LoadModule. Например, чтобы активировать модуль состояния, используйте следующее (в дополнение к директивам активации состояния в access.conf):
LoadModule status_module modules/mod_status.so
Также доступна информация о создании загружаемых модулей.
Apache также может загружать расширения ISAPI (Internet Server Application Programming Interface) (т. е. серверные интернет-приложения), например, используемые Microsoft IIS и другими серверами Windows. Доступна дополнительная информация. Обратите внимание, что Apache не может загружать фильтры ISAPI.
При запуске сценариев CGI метод, используемый Apache для поиска интерпретатора сценария, настраивается с помощью директивы ScriptInterpreterSource.
Поскольку в Windows зачастую сложно управлять файлами с такими именами, как .htaccess, может оказаться полезным изменить имя этого файла конфигурации для каждого каталога с помощью директивы AccessFilename.
Любые ошибки во время запуска Apache регистрируются в журнале событий Windows при работе в Windows NT. Этот механизм действует как резервная копия для тех ситуаций, когда Apache не может даже получить доступ к обычно используемому файлу error.log. Журнал событий Windows можно просмотреть с помощью приложения "Просмотр событий" в Windows NT 4.0 и оснастки MMC "Просмотр событий" в более новых версиях Windows.
Обратите внимание, что в Windows 9x не ведется журнал ошибок запуска, поскольку в этих операционных системах нет журнала событий Windows.
Запуск Apache как службы
Apache можно запускать как службу в Windows NT. Существует экспериментальная поддержка аналогичного поведения в Windows 9x.
Вы можете установить Apache как службу автоматически во время установки. Если вы выбрали установку для всех пользователей, при установке будет создана служба Apache. Если вы укажете установку только для себя, вы можете вручную зарегистрировать Apache как службу после установки. Чтобы установка службы прошла успешно, вы должны быть членом группы администраторов.
Apache поставляется с утилитой под названием Apache Service Monitor. С его помощью вы можете видеть и управлять состоянием всех установленных служб Apache на любом компьютере в вашей сети. Чтобы иметь возможность управлять службой Apache с помощью монитора, вы должны сначала установить службу (либо автоматически при установке, либо вручную).
Вы можете установить Apache как службу Windows NT, выполнив следующие действия из командной строки в подкаталоге Apache bin:
apache -k установить
Если вам нужно указать имя службы, которую вы хотите установить, используйте следующую команду. Вы должны сделать это, если на вашем компьютере установлено несколько различных служб Apache.
apache -k install -n "MyServiceName"
Если вам нужны файлы конфигурации с особыми именами для разных служб, вы должны использовать это:
apache -k install -n "MyServiceName" -f "c:\files\my.conf"
Удалить службу Apache очень просто. Просто используйте:
apache -k удалить
Конкретную службу Apache, которую нужно удалить, можно указать с помощью:
apache -k удалить -n "MyServiceName"
Обычный запуск, перезапуск и завершение работы службы Apache обычно выполняется с помощью монитора службы Apache с помощью таких команд, как NET START Apache2 и NET STOP Apache2, или с помощью обычного управления службами Windows. Прежде чем каким-либо образом запускать Apache как службу, вы должны протестировать файл конфигурации службы, используя:
apache -n "MyServiceName" -t
Вы также можете управлять службой Apache с помощью ее переключателей командной строки. Чтобы запустить установленную службу Apache, вы будете использовать это:
Чтобы остановить службу Apache с помощью переключателей командной строки, используйте следующее:
выключение apache -k
Вы также можете перезапустить запущенную службу и заставить ее перечитать свой файл конфигурации, используя:
apache -k перезапустить
По умолчанию все службы Apache зарегистрированы для запуска от имени системного пользователя (учетная запись LocalSystem). Учетная запись LocalSystem не имеет прав доступа к вашей сети через какой-либо защищенный Windows механизм, включая файловую систему, именованные каналы, DCOM или безопасный RPC. Однако локально он имеет широкие привилегии.
Никогда не предоставляйте никакие сетевые привилегии учетной записи LocalSystem! Если вам нужно, чтобы Apache мог получить доступ к сетевым ресурсам, создайте отдельную учетную запись для Apache, как указано ниже.
Возможно, вы захотите создать отдельную учетную запись для запуска служб Apache. Особенно, если вам нужно получить доступ к сетевым ресурсам через Apache, это настоятельно рекомендуется.
- Создайте обычную учетную запись пользователя домена и обязательно запомните ее пароль.
- Предоставьте вновь созданному пользователю право входа в качестве службы и действия в качестве части операционной системы. В Windows NT 4.0 эти привилегии предоставляются с помощью диспетчера пользователей для доменов, но в Windows 2000 и XP вы, вероятно, захотите использовать групповую политику для распространения этих параметров. Вы также можете установить их вручную с помощью оснастки MMC локальной политики безопасности.
- Подтвердите, что созданный аккаунт является членом группы "Пользователи".
- Предоставьте учетной записи права на чтение и выполнение (RX) для всех папок документов и сценариев (например, htdocs и cgi-bin).
- Предоставьте права на изменение учетной записи (RWXD) каталогу журналов Apache.
- Предоставьте учетной записи права на чтение и выполнение (RX) двоичного исполняемого файла Apache.exe.
Обычно хорошей практикой является предоставление пользователю службы Apache, работающей в режиме чтения и выполнения (RX), доступа ко всему каталогу Apache2, за исключением подкаталога logs, для которого пользователь должен иметь как минимум права на изменение (RWXD).
Если вы разрешите учетной записи входить в систему как пользователь и как служба, вы можете войти в систему с этой учетной записью и проверить, что учетная запись имеет права на выполнение сценариев, чтение веб-страниц и что вы можете запускать Apache в окне консоли. Если это работает, и вы выполнили описанные выше шаги, Apache должен работать как служба без проблем.
Код ошибки 2186 указывает на то, что вам необходимо проверить конфигурацию «Вход в систему как» для службы, поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Кроме того, обратите особое внимание на привилегии пользователя, от имени которого настроен Apache.
При запуске Apache в качестве службы вы можете столкнуться с сообщением об ошибке от диспетчера управления службами Windows. Например, если вы попытаетесь запустить Apache с помощью апплета «Службы» в панели управления Windows, вы можете получить следующее сообщение:
Не удалось запустить службу Apache2 на \\COMPUTER
Ошибка 1067; Процесс неожиданно завершился.
Вы получите эту общую ошибку, если возникнут проблемы с запуском службы Apache. Чтобы увидеть, что действительно вызывает проблему, следуйте инструкциям по запуску Apache для Windows из командной строки.
Apache в Windows 9x поддерживает поведение аналогично службе в Windows NT. Это очень экспериментально. Он не имеет промышленной надежности, и его будущее не гарантировано. В основном это может рассматриваться как рискованная игра - действуйте осторожно!
Существуют некоторые различия между двумя типами услуг, о которых вам следует знать:
Apache попытается запуститься и в случае успеха будет работать в фоновом режиме. Если вы запустите команду
apache -n "MyServiceName" -k запустить
Windows 9x не поддерживает команды NET START или NET STOP. Вы должны управлять службой Apache в командной строке с помощью ключей -k.
Apache и Windows 9x не поддерживают запуск Apache от имени конкретного пользователя с сетевыми привилегиями. На самом деле, Windows 9x также не обеспечивает безопасности на локальной машине. Это простая причина, по которой Apache Software Foundation никогда не одобряет использование системы на базе Windows 9x в качестве общедоступного сервера Apache. Примитивная поддержка Windows 9x существует только для того, чтобы помочь пользователю в разработке веб-контента и изучении сервера Apache, а также, возможно, в качестве сервера интрасети в защищенной частной сети.
Убедившись, что Apache работает правильно как консольное приложение, вы можете устанавливать, контролировать и удалять псевдослужбу с помощью тех же команд, что и в Windows NT. Вы также можете использовать Apache Service Monitor для управления псевдослужбами Windows 9x.
Запуск Apache как консольного приложения
Запуск Apache как службы обычно является рекомендуемым способом его использования, но иногда проще работать из командной строки (в Windows 9x рекомендуется запускать Apache из командной строки из-за отсутствия надежной поддержки службы). .)
Чтобы запустить Apache из командной строки в качестве консольного приложения, используйте следующую команду:
Apache запустится и продолжит работу до тех пор, пока не будет остановлен нажатием Control-C.
Вы можете остановить работающий Apache, открыв другое окно консоли и введя:
выключение apache -k
Это предпочтительнее, чем нажатие Control-C, потому что это позволяет Apache завершить любые текущие операции и корректно выполнить очистку.
Вы также можете перезапустить Apache. Это заставляет его перечитать файл конфигурации. Любые выполняемые операции могут выполняться без перерыва. Чтобы перезапустить Apache, используйте:
apache -k перезапустить
Примечание для людей, знакомых с Unix-версией Apache: эти команды предоставляют Windows-эквивалент kill -TERM pid и kill -USR1 pid . Используемый параметр командной строки -k был выбран как напоминание о команде kill, используемой в Unix.
Если окно консоли Apache закрывается сразу или неожиданно после запуска, откройте командную строку из меню "Пуск" --> "Программы". Перейдите в папку, в которую вы установили Apache, введите команду apache и прочитайте сообщение об ошибке. Затем перейдите в папку журналов и просмотрите файл error.log на наличие ошибок конфигурации. Если вы приняли значения по умолчанию при установке Apache, команды будут такими:
c:
cd "\Program Files\Apache Group\Apache2\bin"
apache
Затем подождите, пока Apache остановится, или нажмите Control-C. Затем введите следующее:
При работе с Apache важно знать, как он найдет файл конфигурации. Вы можете указать файл конфигурации в командной строке двумя способами:
-f указывает абсолютный или относительный путь к определенному файлу конфигурации:
apache -f "c:\my server files\anotherconfig.conf"
apache -f files\anotherconfig.conf
-n указывает установленную службу Apache, файл конфигурации которой будет использоваться:
apache -n "MyServiceName"
В обоих этих случаях в файле конфигурации должен быть установлен правильный ServerRoot.
Затем Apache попытается определить корневой сервер, выполнив следующие действия в указанном порядке:
Во время установки в реестре Windows создается ключ реестра для конкретной версии. Расположение этого ключа зависит от типа установки. Если вы решили установить Apache для всех пользователей, ключ находится в кусте HKEY_LOCAL_MACHINE, как здесь (номера версий, конечно, будут различаться в разных версиях Apache:
Соответственно, если вы решили установить Apache только для текущего пользователя, ключ находится в кусте HKEY_CURRENT_USER, содержимое которого зависит от пользователя, вошедшего в систему в данный момент:
Этот ключ компилируется на сервере и позволяет тестировать новые версии, не затрагивая текущую версию. Конечно, вы должны следить за тем, чтобы новая версия не устанавливалась в тот же каталог, что и другая версия.
Если вы не выполнили бинарную установку, Apache в некоторых случаях будет жаловаться на отсутствие ключа реестра. Это предупреждение можно проигнорировать, если серверу удалось найти свой файл конфигурации.
Проверка установки
После запуска Apache (в окне консоли или в качестве службы) он будет прослушивать порт 80 (если только вы не изменили директиву Listen в файлах конфигурации или не установили Apache только для текущего пользователя). Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите браузер и введите этот URL-адрес:
Apache должен ответить приветственной страницей и ссылкой на руководство по Apache. Если ничего не происходит или вы получаете сообщение об ошибке, посмотрите файл error.log в подкаталоге logs. Если ваш хост не подключен к сети или у вас есть серьезные проблемы с конфигурацией DNS (службы доменных имен), возможно, вам придется использовать этот URL-адрес:
После того, как ваша базовая установка заработает, вы должны правильно настроить ее, отредактировав файлы в подкаталоге conf. Опять же, если вы изменяете конфигурацию службы Windows NT для Apache, сначала попытайтесь запустить ее из командной строки, чтобы убедиться, что служба запускается без ошибок.
Поскольку Apache не может использовать один и тот же порт с другим приложением TCP/IP, перед запуском Apache может потребоваться остановить, удалить или перенастроить некоторые другие службы. Эти конфликтующие службы включают другие WWW-серверы и некоторые реализации брандмауэра.
Авторские права, 1999–2004 гг., The Apache Software Foundation.
Под лицензией Apache License, версия 2.0.
В этом документе объясняется, как установить, настроить и запустить Apache 2.4 в Microsoft Windows. Если после просмотра документации (а также любых журналов событий и ошибок) у вас возникнут вопросы, вам следует обратиться к списку рассылки поддерживаемых коллегами пользователей.
В этом документе предполагается, что вы устанавливаете двоичный дистрибутив Apache. Если вы хотите скомпилировать Apache самостоятельно (возможно, чтобы помочь в разработке или отследить ошибки), см. раздел Компиляция Apache для Microsoft Windows.
- Требования к операционной системе
- Загрузка Apache для Windows
- Настройка Apache для Windows
- Запуск Apache как службы
- Запуск Apache в качестве консольного приложения
- Проверка установки
- Настройка доступа к сетевым ресурсам
- Настройка Windows
См. также
Требования к операционной системе
Основной платформой Windows для запуска Apache 2.4 является Windows 2000 или более поздней версии. Всегда получайте и устанавливайте текущий пакет обновлений, чтобы избежать ошибок операционной системы.
Загрузка Apache для Windows
Настройка Apache для Windows
Apache настраивается с помощью файлов в подкаталоге conf. Это те же самые файлы, которые используются для настройки версии Unix, но есть несколько других директив для Apache в Windows. Все доступные директивы см. в указателе директив.
Поскольку Apache для Windows является многопоточным, он не использует отдельный процесс для каждого запроса, как это может делать Apache в Unix. Вместо этого обычно работают только два процесса Apache: родительский процесс и дочерний процесс, который обрабатывает запросы. Внутри дочернего процесса каждый запрос обрабатывается отдельным потоком.
Директивы управления процессами также отличаются:
MaxConnectionsPerChild: как и директива Unix, определяет, сколько соединений будет обслуживать один дочерний процесс перед выходом. Однако, в отличие от Unix, процесс замены не доступен мгновенно. Используйте MaxConnectionsPerChild по умолчанию 0 , если не указано изменить поведение для устранения утечки памяти в сторонних модулях или внутрипроцессных приложениях.
ThreadsPerChild: эта директива является новой. Он сообщает серверу, сколько потоков он должен использовать. Это максимальное количество соединений, которое сервер может обрабатывать одновременно, поэтому убедитесь, что это число достаточно велико для вашего сайта, если вы получаете много посещений. Рекомендуемое значение по умолчанию — ThreadsPerChild 150 , но его необходимо изменить, чтобы оно отражало максимальное ожидаемое количество одновременных подключений для принятия.
Директивы, которые принимают имена файлов в качестве аргументов, должны использовать имена файлов Windows, а не Unix. Однако, поскольку Apache может интерпретировать обратную косую черту как последовательность «экранирующих символов», вы должны последовательно использовать прямую косую черту в именах путей, а не обратную косую черту.
Хотя имена файлов обычно нечувствительны к регистру в Windows, URL-адреса по-прежнему обрабатываются внутренне как чувствительные к регистру, прежде чем они сопоставляются с файловой системой. Например, все директивы , Alias и ProxyPass используют аргументы с учетом регистра. По этой причине особенно важно использовать эту директиву при попытке ограничить доступ к содержимому в файловой системе, поскольку эта директива применяется к любому содержимому в каталоге, независимо от того, как к нему осуществляется доступ. Если вы хотите убедиться, что в URL-адресах используются только строчные буквы, вы можете использовать что-то вроде:
При запуске Apache требуется доступ для записи только к каталогу журналов и любому сконфигурированному дереву каталогов кэша. Из-за проблемы с нечувствительными к регистру и короткими именами в формате 8.3 Apache должен проверять все заданные имена путей. Это означает, что каждый каталог, который оценивает Apache, от корня диска до листа каталога, должен иметь разрешения на чтение, перечисление и обход каталога. Если Apache2.4 установлен в C:\Program Files, то корневой каталог, Program Files и Apache2.4 должны быть видны для Apache.
Apache для Windows позволяет загружать модули во время выполнения без перекомпиляции сервера. Если Apache скомпилирован нормально, он установит несколько дополнительных модулей в каталог \Apache2.4\modules. Для активации тех или иных модулей необходимо использовать директиву LoadModule. Например, чтобы активировать модуль состояния, используйте следующее (в дополнение к директивам активации состояния в access.conf):
Также доступна информация о создании загружаемых модулей.
Apache также может загружать расширения ISAPI (Internet Server Application Programming Interface), например, используемые Microsoft IIS и другими серверами Windows. Доступна дополнительная информация. Обратите внимание, что Apache не может загружать фильтры ISAPI, а обработчики ISAPI с некоторыми расширениями функций Microsoft не будут работать.
При запуске сценариев CGI метод, используемый Apache для поиска интерпретатора сценария, настраивается с помощью директивы ScriptInterpreterSource.
Поскольку в Windows зачастую сложно управлять файлами с такими именами, как .htaccess, может оказаться полезным изменить имя этого файла конфигурации для каждого каталога с помощью директивы AccessFilename.
Любые ошибки во время запуска Apache регистрируются в журнале событий Windows при работе в Windows NT. Этот механизм действует как резервная копия для тех ситуаций, когда Apache еще не готов использовать файл error.log. Вы можете просмотреть журнал событий приложений Windows с помощью средства просмотра событий, например. Пуск-Настройка-Панель управления-Администрирование-Просмотр событий.
Запуск Apache как службы
Apache поставляется с утилитой под названием Apache Service Monitor. С его помощью вы можете видеть и управлять состоянием всех установленных служб Apache на любом компьютере в вашей сети. Чтобы иметь возможность управлять службой Apache с помощью монитора, вы должны сначала установить службу (либо автоматически при установке, либо вручную).
Вы можете установить Apache как службу Windows NT, выполнив следующие действия из командной строки в подкаталоге Apache bin:
Если вам нужно указать имя службы, которую вы хотите установить, используйте следующую команду. Вы должны сделать это, если на вашем компьютере установлено несколько различных сервисных установок Apache. Если вы указываете имя во время установки, вы также должны указать его во время любой другой операции -k.
httpd.exe -k install -n "MyServiceName"
Если вам нужны файлы конфигурации с особыми именами для разных служб, вы должны использовать это:
httpd.exe -k install -n "MyServiceName" -f "c:\files\my.conf"
Удалить службу Apache очень просто. Просто используйте:
Конкретную службу Apache, которую нужно удалить, можно указать с помощью:
httpd.exe -k удалить -n "MyServiceName"
Обычный запуск, перезапуск и завершение работы службы Apache обычно выполняется с помощью монитора службы Apache с помощью таких команд, как NET START Apache2.4 и NET STOP Apache2.4, или с помощью обычного управления службами Windows. Прежде чем каким-либо образом запускать Apache как службу, вы должны протестировать файл конфигурации службы, используя:
httpd.exe -n "MyServiceName" -t
Вы также можете управлять службой Apache с помощью ее переключателей командной строки. Чтобы запустить установленную службу Apache, вы будете использовать это:
httpd.exe -k start -n "MyServiceName"
Чтобы остановить службу Apache с помощью переключателей командной строки, используйте следующее:
httpd.exe -k stop -n "MyServiceName"
httpd.exe -k shutdown -n "MyServiceName"
Вы также можете перезапустить запущенную службу и заставить ее перечитать свой файл конфигурации, используя:
httpd.exe -k restart -n "MyServiceName"
По умолчанию все службы Apache зарегистрированы для запуска от имени системного пользователя (учетная запись LocalSystem). Учетная запись LocalSystem не имеет прав доступа к вашей сети через какой-либо защищенный Windows механизм, включая файловую систему, именованные каналы, DCOM или безопасный RPC. Однако локально он имеет широкие привилегии.
Никогда не предоставляйте никакие сетевые привилегии учетной записи LocalSystem! Если вам нужно, чтобы Apache мог получить доступ к сетевым ресурсам, создайте отдельную учетную запись для Apache, как указано ниже.
Рекомендуется, чтобы пользователи создавали отдельную учетную запись для запуска служб Apache. Если вам нужно получить доступ к сетевым ресурсам через Apache, это обязательно.
Обычно рекомендуется предоставлять пользователю доступ для чтения и выполнения (RX) для службы Apache ко всему каталогу Apache2.4, за исключением подкаталога logs, где пользователь должен иметь как минимум изменения (RWXD) права.
Если вы разрешите учетной записи входить в систему как пользователь и как служба, вы можете войти в систему с этой учетной записью и проверить, что учетная запись имеет права на выполнение сценариев, чтение веб-страниц и что вы можете запускать Apache в окне консоли. Если это работает, и вы выполнили описанные выше шаги, Apache должен работать как служба без проблем.
Код ошибки 2186 указывает на то, что вам необходимо проверить конфигурацию «Вход в систему как» для службы, поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Кроме того, обратите особое внимание на привилегии пользователя, от имени которого настроен Apache.
При запуске Apache в качестве службы вы можете столкнуться с сообщением об ошибке от диспетчера управления службами Windows. Например, если вы попытаетесь запустить Apache с помощью апплета «Службы» в панели управления Windows, вы можете получить следующее сообщение:
Не удалось запустить службу Apache2.4 на \\COMPUTER
Ошибка 1067; Процесс неожиданно завершился.
Вы получите эту общую ошибку, если возникнут проблемы с запуском службы Apache. Чтобы увидеть, что действительно вызывает проблему, следуйте инструкциям по запуску Apache для Windows из командной строки.
Запуск Apache как консольного приложения
Обычно рекомендуется запускать Apache как службу, но иногда проще работать из командной строки, особенно во время первоначальной настройки и тестирования.
Чтобы запустить Apache из командной строки в качестве консольного приложения, используйте следующую команду:
Apache запустится и продолжит работу до тех пор, пока не будет остановлен нажатием Control-C.
Если Apache работает как служба, вы можете остановить его, открыв другое окно консоли и введя:
Запуск в качестве службы предпочтительнее запуска в окне консоли, поскольку это позволяет Apache завершать любые текущие операции и корректно очищать их.
Но если сервер запущен в окне консоли, остановить его можно, только нажав Control-C в том же окне.
Вы также можете перезапустить Apache. Это заставляет его перечитать файл конфигурации. Любые выполняемые операции могут выполняться без перерыва. Чтобы перезапустить Apache, либо нажмите Control-Break в окне консоли, которое вы использовали для запуска Apache, либо введите
если сервер работает как служба.
Примечание для людей, знакомых с Unix-версией Apache: эти команды предоставляют Windows-эквивалент kill -TERM pid и kill -USR1 pid . Используемый параметр командной строки -k был выбран как напоминание о команде kill, используемой в Unix.
Затем подождите, пока Apache остановится, или нажмите Control-C. Затем введите следующее:
При работе с Apache важно знать, как он найдет файл конфигурации. Вы можете указать файл конфигурации в командной строке двумя способами:
-f указывает абсолютный или относительный путь к определенному файлу конфигурации:
httpd.exe -f "c:\my server files\anotherconfig.conf"
-n указывает установленную службу Apache, файл конфигурации которой будет использоваться:
httpd.exe -n "MyServiceName"
В обоих этих случаях в файле конфигурации должен быть установлен правильный ServerRoot.
Затем Apache попытается определить корневой сервер, выполнив следующие действия в указанном порядке:
Если вы не выполнили бинарную установку, Apache в некоторых случаях будет жаловаться на отсутствие ключа реестра. Это предупреждение можно проигнорировать, если серверу удалось найти свой файл конфигурации.
Проверка установки
После запуска Apache (в окне консоли или в качестве службы) он будет прослушивать порт 80 (если только вы не изменили директиву Listen в файлах конфигурации или не установили Apache только для текущего пользователя). Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите браузер и введите этот URL-адрес:
Apache должен отобразить страницу приветствия, и вы должны увидеть сообщение "Это работает!". Если ничего не происходит или вы получаете сообщение об ошибке, посмотрите файл error.log в подкаталоге logs. Если ваш хост не подключен к сети или у вас есть серьезные проблемы с конфигурацией DNS (службы доменных имен), возможно, вам придется использовать этот URL-адрес:
Если вы запускаете Apache на альтернативном порту, вам необходимо явно указать это в URL-адресе:
После того, как ваша базовая установка заработает, вы должны правильно настроить ее, отредактировав файлы в подкаталоге conf. Опять же, если вы изменяете конфигурацию службы Windows NT для Apache, сначала попытайтесь запустить ее из командной строки, чтобы убедиться, что служба запускается без ошибок.
Поскольку Apache не может использовать один и тот же порт с другим приложением TCP/IP, перед запуском Apache может потребоваться остановить, удалить или перенастроить некоторые другие службы. К таким конфликтующим службам относятся другие WWW-серверы, некоторые реализации брандмауэра и даже некоторые клиентские приложения (например, Skype), которые будут использовать порт 80 для обхода проблем с брандмауэром.
Настройка доступа к сетевым ресурсам
Доступ к файлам по сети можно указать с помощью двух механизмов, предоставляемых Windows:
Буквы подключаемых дисков, например, псевдоним "/images/" "Z:/" UNC-пути, например, псевдоним "/images/" "//imagehost/www/images/"
Пример DocumentRoot с путем UNC
Пример DocumentRoot с IP-адресом в пути UNC
Пример псевдонима и соответствующего каталога с путем UNC
Настройка Windows
Если в экземпляре операционной системы используется более нескольких десятков конвейерных регистраторов, часто требуется масштабирование «кучи рабочего стола». Для получения более подробной информации см. документацию по конвейерному ведению журнала.
Комментарии
Авторское право 2022 г. The Apache Software Foundation.
Под лицензией Apache License, версия 2.0.
Apache предоставляет различные способы запуска, остановки и перезапуска сервера. Узнайте здесь, как автоматизировать эти процессы и убедиться, что ваш сервер всегда работает, когда это необходимо.
Эта глава из книги
Эта глава из книги
Эта глава из книги
В этой главе:
Есть два вида дураков. Один говорит: «Это старо, а потому хорошо." А кто-то говорит: "Это новинка, а значит, лучше".
Всадник на ударной волне —Джон Бруннер
Теперь, когда ваш сервер установлен, вам нужно запустить его. Не беспокойтесь, что мы посвятили этому целую главу. Это действительно просто. Но есть некоторые дополнительные сведения о запуске, остановке и перезапуске сервера.
apachetl
В большинстве случаев вы хотите использовать apachectl для запуска и остановки вашего сервера. apachectl — это небольшой удобный скрипт, разработанный для облегчения рутинной работы по запуску, остановке и перезапуску Apache.
Вы найдете apachectl в каталоге bin везде, где вы установили Perl. Возможно, вы захотите скопировать его или создать символическую ссылку в /usr/local/bin или в другое место на вашем пути, потому что он может вам часто понадобиться, по крайней мере, пока вы изучаете Apache.
apachectl можно запустить с одним из восьми различных вариантов.
Полный список параметров можно получить, запустив apachectl с параметром справки:
Эти параметры, по большей части, говорят сами за себя.
статус и полный статус будут рассмотрены более подробно в Главе 14, «Обработчики и фильтры», когда мы будем обсуждать mod_status. configtest будет обсуждаться более подробно, когда мы будем обсуждать директивы конфигурации в Главе 4, «Директивы конфигурации».
Особый интерес для этого раздела книги представляют параметры запуска, остановки, перезапуска и плавного перехода. Первые два делают именно то, что вы ожидаете. перезапуск также делает то, что вы ожидаете, но важно знать, что он также повторно считывает файлы конфигурации, поэтому, если были сделаны какие-либо изменения, эти изменения вступят в силу при перезапуске. изящный полезен, потому что любые соединения с сервером, которые в настоящее время активны, будут завершены до перезапуска сервера. Это важно, потому что это означает, что ни одно соединение не будет бесцеремонно разорвано во время получения файла, поэтому предполагаемое время простоя сервера будет меньше.
Как для перезапуска, так и для изящного, если в файле (файлах) конфигурации есть синтаксическая ошибка, Apache не будет успешно перезапущен. Однако Apache достаточно умен, чтобы проверять синтаксис файлов конфигурации перед завершением работы, а не ждать, пока не придет время для резервного запуска. Итак, если есть проблема с конфигурационными файлами, Apache вообще не выключится. Это было не так с более ранними версиями, где перезапуск иногда приводил к отключению сервера, если вы не проверяли синтаксис конфигурации перед попыткой перезапуска.
Веб-сервер Apache — это веб-приложение с открытым исходным кодом, которое можно использовать для развертывания динамических веб-сайтов и веб-приложений. Это быстрый, безопасный, стабильный, надежный и один из наиболее широко используемых веб-серверов в мире.
Его можно запустить в операционных системах Linux и Windows.
Существует несколько способов запуска, остановки и перезапуска веб-сервера Apache в различных операционных системах на базе Linux.
В этом руководстве мы покажем вам, как запускать, останавливать и перезапускать веб-сервер Apache в операционных системах Debian, Ubuntu и CentOS.
Запустить/остановить/перезапустить веб-сервер Apache в Ubuntu/Debian Linux
Существуют разные команды для запуска, остановки и перезапуска веб-сервера Apache в разных версиях операционной системы Ubuntu/Debian.
Команды для Debian Linux версии 7.x или Ubuntu Linux версии Ubuntu 14.10 или старше
Вы можете запустить веб-сервер Apache с помощью следующей команды:
запуск службы apache2
Вы можете перезапустить веб-сервер Apache с помощью следующей команды:
перезапуск службы apache2
Вы можете остановить веб-сервер Apache с помощью следующей команды:
остановка службы apache2
Вы также можете проверить статус веб-сервера Apache, работает он или нет, с помощью следующей команды:
статус службы apache2
Команды для Debian Linux версии 8.x+ или Ubuntu Linux версии Ubuntu 15.04+ или выше
Debian версии 8.x+ и Ubuntu версии 15.04+ использует systemd для запуска, остановки и перезапуска веб-сервера Apache.
Чтобы запустить веб-сервер Apache, выполните следующую команду:
systemctl запускает apache2
Чтобы перезапустить веб-сервер Apache, выполните следующую команду:
systemctl перезапустить apache2
Чтобы остановить веб-сервер Apache, выполните следующую команду:
systemctl остановить apache2
Чтобы проверить состояние веб-сервера Apache, выполните следующую команду:
статус systemctl apache2
Запуск/остановка/перезапуск веб-сервера Apache в CentOS/RHEL
Существуют разные команды для запуска, остановки и перезапуска веб-сервера Apache в другой версии операционной системы CentOS/RHEL.
Команды для CentOS/RHEL версии 4.x/5.x/6.x или старше
Чтобы запустить веб-сервер Apache, выполните следующую команду:
Чтобы перезапустить веб-сервер Apache, выполните следующую команду:
Чтобы остановить веб-сервер Apache, выполните следующую команду:
Чтобы проверить состояние веб-сервера Apache, выполните следующую команду:
Команды для CentOS/RHEL версии 7.x или новее
Чтобы запустить веб-сервер Apache, выполните следующую команду:
Чтобы перезапустить веб-сервер Apache, выполните следующую команду:
Чтобы остановить веб-сервер Apache, выполните следующую команду:
Чтобы проверить состояние веб-сервера Apache, выполните следующую команду:
запустить/остановить/перезапустить веб-сервер Apache с помощью универсального метода
Вы можете запустить веб-сервер Apache в операционной системе CentOS/RHEL, выполнив следующую команду:
Вы можете запустить веб-сервер Apache в операционной системе Ubuntu/Debian, выполнив следующую команду:
apachectl -f /etc/apache2/apache2.conf
Вы можете перезапустить веб-сервер Apache в операционных системах Ubuntu, Debian, RHEL и CentOS, выполнив следующую команду:
apachectl -k перезапустить
Вы можете остановить веб-сервер Apache в операционных системах Ubuntu, Debian, RHEL и CentOS, выполнив следующую команду:
apachectl -k остановить
Заключение
В приведенном выше руководстве мы узнали, как запускать, останавливать и перезапускать веб-сервер Apache в различных операционных системах на основе Unix. Надеюсь, теперь у вас достаточно знаний для управления веб-службой Apache.
Читайте также: