Настройка веб-сервера
Сервер Apache
Обзор
World Wide Web (веб) — один из наиболее часто используемых интернет-протоколов. В настоящее время веб-сервер в Unix-подобных системах в основном реализуется через серверное программное обеспечение Apache. Для работы с динамическими веб-сайтами разработан комплекс LAMP (Linux + Apache + MySQL + PHP). Веб-сервисы можно сочетать с мультимедийным содержимым, таким как текст, графика, изображения и аудио. Они также поддерживают передачу информации через гиперссылки.
Версия веб-сервера в системе openEuler — это HTTP-сервер Apache 2.4, то есть httpd, который представляет собой веб-сервер с открытым исходным кодом (Open Source), разработанный Apache Software Foundation.
Управление httpd
Обзор
Вы можете использовать инструмент systemctl для управления сервисом httpd, включая запуск, остановку и перезапуск, а также просмотр его состояния.
В этом разделе описывается управление HTTP-сервисом Apache.
Предварительные требования
-
Чтобы использовать HTTP-сервис Apache, убедитесь, что в вашей системе установлен RPM-пакет сервиса
httpd.Для установки пакета выполните от имени пользователя
rootкоманду:dnf install httpdДополнительные сведения см. в разделе Управление сервисами.
-
Для запуска, остановки и перезапуска сервиса
httpdнеобходимы права пользователяroot.
Запуск сервиса
Чтобы запустить и использовать сервис httpd, выполните команду:
systemctl start httpd
Чтобы сервис httpd запускался автоматически при запуске системы, команда и ее выходные данные должны быть следующими:
systemctl enable httpd
Пример вывода:
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
|
Если запущенный HTTP-сервер Apache работает как защищенный сервер, то после запуска системы потребуется пароль. Пароль представляет собой зашифрованный закрытый ключ SSL. |
Остановка сервиса
Чтобы остановить сервис httpd, выполните команду:
systemctl stop httpd
Чтобы сервис не запускался автоматически при запуске системы, команда и ее выходные данные должны быть следующими:
systemctl disable httpd
Пример вывода:
Removed /etc/systemd/system/multi-user.target.wants/httpd.service.
Перезапуск сервиса
Вы можете перезапустить сервис любым из следующих способов.
-
Перезапустите сервис, выполнив команду
restart:systemctl restart httpdЭта команда останавливает запущенный сервис
httpdи сразу же перезапускает его. Она обычно используется после установки сервиса или при удалении динамически загружаемого модуля (например, PHP). -
Перезагрузите конфигурацию.
systemctl reload httpdЭта команда заставляет запущенный сервис
httpdперезагрузить свой файл конфигурации. При этом все обрабатываемые в данный момент запросы будут приостановлены, из-за чего браузер клиента отобразит сообщение об ошибке или перезагрузит некоторые страницы. -
Перезагрузите конфигурацию, не затрагивая запрос об активации.
apachectl gracefulЭта команда заставляет запущенный сервис
httpdперезагрузить свой файл конфигурации. При этом все обрабатываемые в данный момент запросы продолжат использовать старый конфигурационный файл.
Описание файла конфигурации
После запуска сервис httpd по умолчанию считывает файл конфигурации.
Описание файлов конфигурации:
-
/etc/httpd/conf/httpd.confОсновной файл конфигурации.
-
/etc/httpd/conf.d/Дополнительный каталог файлов конфигурации, которые также содержатся в главном файле конфигурации.
Дополнительный каталог файла конфигурации содержится в главном файле конфигурации.
Хотя в большинстве случаев можно использовать конфигурацию по умолчанию, следует ознакомиться с некоторыми ее важными элементами.
После изменения файла конфигурации выполните от имени пользователя root следующую команду, чтобы проверить синтаксические ошибки, которые могут в нем возникнуть:
apachectl configtest
Если отобразится следующее, то синтаксис файла конфигурации верный.
Syntax OK
|
Перед изменением файла конфигурации создайте резервную копию исходного файла, чтобы можно было быстро восстановить его в случае сбоя. Измененный файл конфигурации вступит в силу только после перезапуска веб-сервиса. |
Модуль управления и SSL
Обзор
Сервис httpd — это модульное приложение, распространяемое со многими динамическими общими объектами (Dynamic Shared Object, DSO).
Объекты DSO могут динамически загружаться и удаляться по мере необходимости во время работы.
Эти модули расположены в каталоге /usr/lib64/httpd/modules/ операционной системы сервера.
В этом разделе описываются загрузка и запись модуля.
Загрузка модуля
Чтобы загрузить специальный модуль DSO, можно использовать указание загрузочного модуля в файле конфигурации.
Модули, предоставляемые в сторонних пакетах ПО, имеют собственные файлы конфигурации в каталоге /etc/httpd/conf.modules.d/.
Например, чтобы загрузить DSO-модуль asis, выполните следующие действия.
-
В файле
/etc/httpd/conf.modules.d/00-optional.confот имени пользователяrootраскомментируйте следующую строку конфигурации:LoadModule asis_module modules/mod_asis.so -
Перезапустите httpd-сервис от имени пользователя
root, чтобы перезагрузить файл конфигурации:systemctl restart httpd -
Убедитесь, что DSO-модуль
asisзагружен:httpd -M | grep asisЕсли отображается следующая информация, то DSO-модуль
asisзагружен:asis_module (shared)
Стандартные команды httpd:
-
Просмотр номера версии httpd:
httpd -v -
Просмотр статических модулей, скомпилированных в программу
httpd:httpd -l -
Просмотр статических модулей и загруженных динамических модулей, которые были скомпилированы в программу
httpd:httpd -M
Общие сведения об SSL
Secure Sockets Layer (SSL) — это протокол шифрования, обеспечивающий безопасную связь между сервером и клиентом. Протокол Transport Layer Security (TLS) обеспечивает безопасность и целостность данных для сетевого взаимодействия. Система openEuler поддерживает Mozilla Network Security Services (NSS) в качестве протокола безопасности TLS. Чтобы загрузить SSL, выполните следующие действия.
-
Установите RPM-пакет
mod_sslот имени пользователяroot.dnf install mod_ssl -
Перезапустите
httpd-сервис от имени пользователяroot, чтобы перезагрузить файл конфигурации:systemctl restart httpd -
Чтобы убедиться, что протокол SSL загружен, выполните команду:
httpd -M | grep sslЕсли отображается следующая информация, то SSL загружен:
ssl_module (shared)
Проверка настройки веб-сервиса
После настройки веб-сервера выполните следующие операции, чтобы проверить настройку веб-сервера.
-
От имени пользователя
rootвыполните команду, чтобы проверить IP-адрес сервера:ifconfigЕсли отображается следующая информация, то IP-адрес сервера —
192.168.1.60.enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.60 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::5054:ff:fe95:499f prefixlen 64 scopeid 0x20<link> ether 52:54:00:95:49:9f txqueuelen 1000 (Ethernet) RX packets 150713207 bytes 49333673733 (45.9 GiB) RX errors 0 dropped 43 overruns 0 frame 0 TX packets 2246438 bytes 203186675 (193.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 52:54:00:7d:80:9e txqueuelen 1000 (Ethernet) RX packets 149937274 bytes 44652889185 (41.5 GiB) RX errors 0 dropped 1102561 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 37096 bytes 3447369 (3.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 37096 bytes 3447369 (3.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -
Настройте брандмауэр от имени пользователя
root.firewall-cmd --add-service=http --permanent firewall-cmd --reload -
Убедитесь, что веб-сервер настроен. Для проверки можно выбрать операционную систему Linux или Windows.
-
Использование ОС Linux
Выполните следующую команду, чтобы проверить, доступна ли веб-страница. Если сервис настроен должным образом, доступ к веб-странице возможен.
curl http://192.168.1.60Выполните следующую команду и убедитесь, что она выводит значение 0. Если вывод команды — 0, то сервер
httpdнастроен.echo $? -
Использование ОС Windows
Откройте браузер и введите в строке адреса адрес
http://192.168.1.60. Если доступ к веб-странице возможен, то серверhttpdнастроен.Если изменён номер порта, введите адрес в следующем формате:
http://192.168.1.60:<порт>
-
Сервер Nginx
Обзор
Nginx — это веб-сервер небольшого размера, который также действует как обратный прокси-сервер и прокси-сервер электронной почты (IMAP/POP3). Он потребляет мало памяти, обеспечивает высокий параллелизм и поддерживает FastCGI, SSL, виртуальные узлы, перезапись URL, Gzip и расширения многих сторонних модулей.
Установка Nginx
-
Настройте локальный источник YUM. Подробнее см. в разделе Настройка сервера репозитория.
-
Очистите кеш:
dnf clean all -
Создайте кеш:
dnf makecache -
Установите сервер Nginx:
dnf install nginx -
Проверьте установленный пакет RPM:
dnf list all | grep nginx
Управление Nginx
Обзор
Вы можете использовать инструмент systemctl для управления сервисом NGINX, включая запуск, остановку и перезапуск, а также просмотр его состояния.
В этом разделе описывается, как управлять сервисом NGINX.
Предварительные требования
Убедитесь, что сервис NGINX установлен. Если нет, установите его, как описано выше.
Дополнительные сведения см. в разделе Управление сервисами.
Для запуска, остановки и перезапуска сервиса NGINX необходимы права пользователя root.
Запуск сервиса
Чтобы запустить и использовать сервис Nginx, выполните команду:
systemctl start nginx
Если вы хотите, чтобы сервис NGINX запускался автоматически при запуске системы, команда и ее выходные данные должны быть следующими:
systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
|
Если запущенный сервер Nginx работает как защищенный сервер, то после запуска системы потребуется пароль. Пароль представляет собой зашифрованный закрытый ключ SSL. |
Остановка сервиса
Чтобы остановить сервис Nginx, выполните команду:
systemctl stop nginx
Если вы не хотите, чтобы сервис автоматически запускался при запуске системы, команда и ее выходные данные должны быть следующими.
systemctl disable nginx
Пример вывода:
Removed /etc/systemd/system/multi-user.target.wants/nginx.service.
Перезапуск сервиса
Вы можете перезапустить сервис любым из следующих способов.
-
Перезапустите сервис.
systemctl restart nginxЭта команда останавливает запущенный сервис Nginx и сразу же перезапускает его. Она обычно используется после установки сервиса или при удалении динамически загружаемого модуля (например, PHP).
-
Перезагрузите конфигурацию.
systemctl reload nginxЭта команда заставляет запущенный сервис Nginx перезагрузить свой файл конфигурации. При этом все обрабатываемые в данный момент запросы будут приостановлены, из-за чего браузер клиента отобразит сообщение об ошибке или перезагрузит некоторые страницы.
-
Перезапустите Nginx без нарушения работы.
kill -HUP PIDЭта команда заставляет запущенный сервис Nginx перезагрузить свой файл конфигурации. При этом все обрабатываемые в данный момент запросы продолжат использовать старый конфигурационный файл.
Описание файла конфигурации
После запуска сервис NGINX по умолчанию считывает файл конфигурации, показанный в [таблице 2](#table24341012096).
Описание файлов конфигурации:
-
/etc/nginx/nginx.conf— основной файл конфигурации. -
/etc/nginx/conf.d/— дополнительный каталог файлов конфигурации, которые также содержатся в главном файле конфигурации.Дополнительный каталог файла конфигурации содержится в главном файле конфигурации.
Хотя в большинстве случаев можно использовать конфигурацию по умолчанию, следует ознакомиться с некоторыми ее важными элементами.
После изменения файла конфигурации выполните от имени пользователя root следующую команду, чтобы проверить синтаксические ошибки, которые могут в нем возникнуть:
nginx -t
Если вывод команды содержит слова syntax is ok, то синтаксис файла конфигурации верный.
|
Перед изменением файла конфигурации создайте резервную копию исходного файла, чтобы можно было быстро восстановить его в случае сбоя. Измененный файл конфигурации вступит в силу только после перезапуска веб-сервиса. |
Модули управления
Обзор
Сервис Nginx — это модульное приложение, распространяемое со многими динамическими общими объектами (Dynamic Shared Object, DSO).
Объекты DSO могут динамически загружаться и удаляться по мере необходимости во время работы.
Эти модули расположены в каталоге /usr/lib64/nginx/modules/ операционной системы сервера.
В этом разделе описываются загрузка и запись модуля.
Загрузка модуля
Чтобы загрузить специальный модуль DSO, можно использовать указание загрузочного модуля в файле конфигурации.
Как правило, модули, предоставляемые в сторонних пакетах ПО, имеют собственные файлы конфигурации в каталоге /usr/share/nginx/modules.
Объект DSO автоматически загружается при использовании команды dnf install nginx для установки Nginx в операционной системе openEuler.
Проверка настройки веб-сервиса
После настройки веб-сервера выполните следующие операции, чтобы проверить настройку веб-сервера.
-
От имени пользователя
rootвыполните команду, чтобы проверить IP-адрес сервера:ifconfigЕсли отображается следующая информация, то IP-адрес сервера —
192.168.1.60.enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.60 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::5054:ff:fe95:499f prefixlen 64 scopeid 0x20<link> ether 52:54:00:95:49:9f txqueuelen 1000 (Ethernet) RX packets 150713207 bytes 49333673733 (45.9 GiB) RX errors 0 dropped 43 overruns 0 frame 0 TX packets 2246438 bytes 203186675 (193.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 52:54:00:7d:80:9e txqueuelen 1000 (Ethernet) RX packets 149937274 bytes 44652889185 (41.5 GiB) RX errors 0 dropped 1102561 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 37096 bytes 3447369 (3.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 37096 bytes 3447369 (3.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -
Настройте брандмауэр от имени пользователя
root.firewall-cmd --add-service=http --permanent firewall-cmd --reload -
Убедитесь, что веб-сервер настроен. Для проверки можно выбрать операционную систему Linux или Windows.
-
Использование ОС Linux
Выполните следующую команду, чтобы проверить, доступна ли веб-страница. Если сервис настроен должным образом, доступ к веб-странице возможен.
curl http://192.168.1.60Выполните следующую команду и убедитесь, что она выводит значение
0. Если вывод команды —0, то сервер NGINX настроен.echo $? -
Использование ОС Windows
Откройте браузер и введите в строке адреса
http://192.168.1.60. Если доступ к веб-странице возможен, то сервер NGINX настроен.Если изменен номер порта, введите адрес в следующем формате:
http://192.168.1.60:<порт>
-