Установка веб-сервера Apache в Ubuntu 22.04
4 ноября, 2022 11:59 дп 3 397 views | Комментариев нетLAMP Stack, Ubuntu | Amber | Комментировать запись
HTTP-сервер Apache – наиболее распространенный в сети веб-сервер. Он предоставляет множество полезных функций, включая динамическую загрузку модулей, надежную поддержку мультимедиа и широкую интеграцию с другим популярным программным обеспечением.
В этом туториале вы узнаете, как установить веб-сервер Apache на Ubuntu 22.04.
Требования
Прежде чем приступить к работе, на вашем сервере должен быть пользователь без root с доступом к sudo. Также нужно включить базовый брандмауэр для блокирования ненужных портов. Как настроить учетную запись обычного пользователя и установить брандмауэр для вашего сервера, вы можете узнать в нашей статье.
Когда всё настроено, войдите в систему как пользователь без root.
1: Установка Apache
Apache есть в стандартном репозитории Ubuntu, поэтому его можно установить с помощью стандартного пакетного менеджера.
Начнем с обновления локального индекса пакетов, чтобы отразить последние изменения в основной ветке:
sudo apt update
Затем установим пакет apache2:
sudo apt install apache2
После этого apt установит Apache и все необходимые зависимости.
2: Настройка брандмауэра
Перед тестированием Apache необходимо изменить настройки брандмауэра, чтобы разрешить внешний доступ к веб-портам по умолчанию. У вас должен быть настроен брандмауэр UFW для ограничения доступа к вашему серверу, если вы следовали инструкциям в предварительных требованиях.
Apache во время установки регистрируется в UFW и предлагает несколько профилей приложений, с помощью которых можно включать или отключать доступ через брандмауэр.
Чтобы посмотреть список профилей ufw введите:
sudo ufw app list
Выводится список:
Available applications: Apache Apache Full Apache Secure OpenSSH
Из вывода получаем, что для Apache доступны три профиля:
- Apache: этот профиль открывает только порт 80 (обычный незашифрованный веб-трафик).
- Apache Full: этот профиль открывает порт 80 (обычный незашифрованный веб-трафик) и порт 443 (зашифрованный трафик TLS/SSL).
- Apache Secure: этот профиль открывает только порт 443 (зашифрованный трафик TLS/SSL).
Рекомендуем включить самый строгий профиль, он всё равно будет разрешать настроенный трафик. Но в этом мануале мы еще не настроили SSL, поэтому нужно разрешить трафик только через порт 80:
sudo ufw allow 'Apache'
Для проверки изменений введите:
sudo ufw status
В выводе будет список разрешенного HTTP-трафика:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)
Как показывает результат, профиль был активирован и доступ к веб-серверу Apache разрешен.
3: Тестирование веб-сервера
Ubuntu после установки запустит Apache автоматически. То есть, веб-сервер уже должен работать.
С помощью системы инициализации systemd мы можем убедиться, что он запустился. Запросите его состояние:
sudo systemctl status apache2
Получаем вывод:
apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 29435 (apache2) Tasks: 55 (limit: 1137) Memory: 8.0M CGroup: /system.slice/apache2.service ├─29435 /usr/sbin/apache2 -k start ├─29437 /usr/sbin/apache2 -k start └─29438 /usr/sbin/apache2 -k start
Согласно этому выводу сервис успешно запустился. Но лучше ещё запросить страницу Apache, чтобы убедиться, что веб-сервер работает правильно.
Чтобы открыть стандартную посадочную страницу Apache, укажите свой домен. Если у вас нет домена, введите внешний IP-адрес своего сервера. Если вы не знаете свой IP-адрес, вы можете узнать его с помощью команды:
hostname -I
Вы получите список адресов, разделенный пробелами. Проверьте каждый полученный адрес в браузере, чтобы найти адрес вашего сервера.
Другой вариант — с помощью ресурса Icanhazip, который должен предоставить вам внешний IP-адрес, прочитанный из другого места в Интернете:
curl -4 icanhazip.com
Узнав свой внешний IP-адрес, введите в строку браузера:
http://your_server_ip
Вы увидите стандартную страницу Apache для Ubuntu:
Эта страница дает понять, что веб-сервер Apache работает правильно; также она содержит базовую информацию о важных файлах и каталогах Apache.
4: Управление процессами Apache
Теперь давайте посмотрим, как управлять веб-сервером с помощью systemctl.
Чтобы остановить веб-сервер, введите:
sudo systemctl stop apache2
Запустить его поможет команда:
sudo systemctl start apache2
Для перезапуска используйте команду:
sudo systemctl restart apache2
Во время настройки Apache можно часто перезагружать, не сбрасывая соединений. Для этого нужно использовать команду:
sudo systemctl reload apache2
По умолчанию Apache добавлен в автозагрузку (запускается автоматически вместе с сервером). Чтобы удалить этот сервис из автозагрузки, отключите его:
sudo systemctl disable apache2
Чтобы добавить Apache в автозагрузку, используйте эту команду:
sudo systemctl enable apache2
Теперь Apache будет снова запускаться автоматически.
5: Настройка виртуальных хостов (рекомендуется)
На веб-сервере Apache вы можете использовать виртуальные хосты (в Nginx это блоки server) для изоляции настроек и размещения нескольких доменов на одном сервере. Здесь используется условный домен example.com, который нужно заменить доменом вашего сайта.
В Ubuntu 22.04 веб-сервер Apache по умолчанию предоставляет один включенный виртуальный хост, который обслуживает каталог /var/www/html. Этого хватит для работы одного сайта, но если вы хотите разместить несколько сайтов, вам нужно создать новые виртуальные хосты. Создайте структуру каталогов в /var/www для сайта example.com, а /var/www/html оставьте как каталог по умолчанию, который будет обслуживаться, если запрос клиента не соответствует другим сайтам.
Создайте каталог для your_domain:
sudo mkdir /var/www/your_domain
Затем укажите права на каталог с помощью переменной $USER:
sudo chown -R $USER:$USER /var/www/your_domain
Права должны быть предоставлены, если вы не меняли значение umask, которое устанавливает права файлов по умолчанию. Чтобы убедиться, что права предоставлены и пользователь может работать с файлами, нужно ввести команду:
sudo chmod -R 755 /var/www/your_domain
Затем создайте образец страницы index. html с помощью nano или другого текстового редактора:
sudo nano /var/www/your_domain/index.html
Добавьте в файл следующий код HTML:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h2>Success! The your_domain virtual host is working!</h2> </body> </html>
Сохраните и закройте файл.
Нужно создать файл виртуального хоста с правильными директивами, чтобы Apache мог обслуживать этот контент. Чтобы напрямую не изменять файл конфигурации по умолчанию, расположенный в /etc/apache2/sites-available/000-default.conf, мы создадим новый в /etc/apache2/sites-available/your_domain.conf:
sudo nano /etc/apache2/sites-available/your_domain.conf
Вставьте в файл следующий блок настроек. Он похож на конфигурации по умолчанию, но содержит правильный домен и каталог:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Обратите внимание, мы обновили DocumentRoot на наш новый каталог, а ServerAdmin на адрес электронной почты, к которому может получить доступ администратор сайта your_domain. Также мы добавили две директивы: ServerName, которая устанавливает базовый домен, который должен соответствовать этому определению виртуального хоста, и ServerAlias – определяет дополнительные имена, которые должны соответствовать базовому имени.
После того, как закончите, сохраните и закройте файл.
Включим файл с помощью a2ensite:
sudo a2ensite your_domain.conf
Отключите сайт по умолчанию, определенный в 000-default.conf:
sudo a2dissite 000-default.conf
Далее проверим ошибки настроек:
sudo apache2ctl configtest
Вывод должен быть следующим:
Syntax OK
Перезапустите Apache, чтобы изменения вступили в силу:
sudo systemctl restart apache2
Теперь Apache должен обслуживать ваше доменное имя. Для проверки перейдите по адресу http://your_domain, вы должны увидеть что-то вроде этого:
6: Важные файлы и каталоги Apache
Теперь, когда вы знаете, как управлять Apache, разберем несколько важных каталогов и файлов.
Контент
- /var/www/html: Фактический веб-контент, который по умолчанию состоит только из стандартной страницы Apache (ранее вы её уже видели), обслуживается из каталога /var/www/html. Это можно изменить, внеся корректировки в файлы конфигурации Apache.
Настройка сервера
- /etc/apache2: каталог конфигурации Apache. Все файлы настроек Apache находятся здесь.
- /etc/apache2/apache2.conf: основной файл настройки Apache. Его можно корректировать для внесения изменений в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации.
- /etc/apache2/ports.conf: В этом файле указаны порты, которые прослушивает Apache. По умолчанию Apache прослушивает порт 80 и дополнительно порт 443, если включен SSL.
- /etc/apache2/sites-available/: каталог, в котором могут храниться виртуальные хосты для каждого сайта. Apache не будет использовать файлы настроек из этого каталога, если они не связаны с каталогом sites-enabled. Обычно вся конфигурация блока выполняется в этом каталоге, а затем включается путем ссылки на другой каталог с помощью команды a2ensite.
- /etc/apache2/sites-enabled/: каталог, в котором хранятся включенные виртуальные хосты для каждого сайта. Обычно они создаются по ссылке на файлы настроек из каталога sites-available с помощью команды a2ensite. Apache считывает конфигурационные файлы и ссылки, находящиеся в этом каталоге, при запуске или перезагрузке для компиляции полной настройки.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: Эти каталоги имеют те же отношения, что и каталоги sites-available и sites-enabled, но используются для хранения фрагментов настроек, которые не принадлежат виртуальному хосту. Файлы в каталоге conf-available можно включить с помощью команды a2enconf, а отключить – a2disconf.
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: эти каталоги содержат доступные и включенные модули соответственно. Файлы, заканчивающиеся на .load, содержат фрагменты для загрузки определенных модулей, а которые заканчиваются на .conf, содержат настройки этих модулей. Модули можно включать и отключать с помощью команд a2enmod и a2dismod.
Логи сервера
- /var/log/apache2/access.log: каждый запрос к вашему веб-серверу записывается в этот лог по умолчанию, если Apache не настроен иначе.
- /var/log/apache2/error.log: по умолчанию все ошибки записываются в этот файл. Директива LogLevel в конфигурации Apache определяет, насколько подробную информацию будут содержать журналы ошибок.
Заключение
В этом мануале вы научились устанавливать веб-сервер Apache и управлять его процессами. Теперь у вас есть много вариантов для дальнейшей работы: вы можете выбрать тип контента, который хотите обслуживать, и внедрить дополнительные технологии для создания более сложного сайта.
Если вы хотите создать более полный стек приложений, вы можете прочитать эту статью о том, как настроить стек LAMP в Ubuntu.
Tags: Apache, Ubuntu, Ubuntu 22.04Что такое сервер Apache? | Website Rating
SlimCleaner — это бесплатный веб-сервер с открытым исходным кодом, который сегодня является самым популярным программным обеспечением для веб-серверов, доставляющим веб-контент через Интернет.
Apache — это бесплатная программа с открытым исходным кодом. веб-сервер который доставляет веб-контент через Интернет, а Apache является самой популярной и наиболее используемой платформой HTTP-сервера.
Apache — это веб-сервер с открытым исходным кодом, на котором работает более половины Интернета. Это также один из самых популярных серверов в мире с миллионами пользователей по всему миру. Apache существует уже более 20 лет и продолжает оставаться одним из основных продуктов в мире технологий, поскольку обеспечивает надежную работу без каких-либо затрат.
Проект Apache HTTP Server направлен на разработку и поддержку HTTP-сервера с открытым исходным кодом для таких операционных систем, как UNIX и Windows NT. Проект направлен на предоставление безопасного, эффективного и расширяемого сервера, который предоставляет услуги HTTP в sync с текущими веб-стандартами.
Впервые он был выпущен 27 августа 1995 года Робом МакКулом, работающим в Национальном центре суперкомпьютерных приложений (NCSA).
Apache — самое популярное программное обеспечение веб-сервера, используемое сегодня. Первоначально он был разработан группой программистов под названием The Apache Group и с тех пор постоянно обновляется.
Хотя вы можете использовать сервер Tomcat для обслуживания статических веб-страниц, он менее эффективен для этой цели, чем сервер Apache. Есть много причин, по которым Apache стал таким популярным. Тем не менее, одной из основных причин является его программное обеспечение с открытым исходным кодом, что означает, что любой может бесплатно загрузить код и изменить его в соответствии со своими потребностями, не платя никаких лицензионных сборов или роялти.
Где используется сервер Apache?
Apache — это популярное и бесплатное программное обеспечение веб-сервера с открытым исходным кодом. Он используется более чем половиной всех активных веб-сайтов в Интернете, что делает его сегодня одним из наиболее широко используемых элементов интернет-инфраструктуры.
Первоначально Apache был разработан для удовлетворения потребностей относительно небольшого числа пользователей, но с тех пор был переработан для использования с десятками или даже сотнями тысяч одновременно подключенных клиентов. Учитывая этот фон, мы можем понять, почему многие люди могут задавать себе вопрос: «Что такое сервер Apache?»
Популярный тип программного приложения, работающего на Apache v2, называется веб-сервером. Основная функция любого веб-сервера, будь то Apache v2, Microsoft IIS, Nginx или любой другой подобный программный пакет, — выступать в качестве посредника между конечным пользователем и исходным кодом веб-сайта, который он пытается просмотреть.
Веб-сервер можно рассматривать как телефонного оператора, который взаимодействует с двумя конечными пользователями (владельцем веб-сайта и конечным пользователем с веб-браузером). Если вы когда-либо звонили в службу поддержки вашего интернет-провайдера или кабельной компании, то вы, вероятно, знаете, о чем я говорю: «Нажмите 1, чтобы перейти на английский язык».
Несмотря на то, что это простой пример, он иллюстрирует, как такая программа, как Apache v2, работает на невероятно сложном уровне. Каждый веб-сайт, который мы просматриваем, состоит из обширной коллекции отдельных скриптов — некоторые чаще, чем другие — и все эти скрипты должны взаимодействовать с Apache v2 для правильного отображения.
Как работает веб-сервер Apache?
Веб-сервер Apache — популярный веб-сервер с открытым исходным кодом, используемый многими веб-сайтами в Интернете. Это очень универсальный сервер, который можно использовать для различных целей, таких как обслуживание статического контента, размещение веб-сайта или обеспечение кэширования обратного прокси-сервера.
Веб-сервер Apache — это программа, которая работает в системе на базе Linux или Unix и прослушивает входящие запросы от браузеров, запрашивающих HTML-страницы или другие файлы. Веб-сервер Apache будет искать запрошенный файл в корневом каталоге своего документа при получении запроса.
Если файл найден, веб-сервер Apache отправит его браузеру, который сделал запрос. Если он не найдет файл в корне документа, Apache отправит обратно страницу с ошибкой, в которой говорится, что страница не может быть найдена, и вместо этого направит вас на домашнюю страницу вашего сайта.
Апач веб-сервер также может размещать динамические и локальные веб-сайты которые содержат страницы с изменяющимся содержимым, такие как доска обсуждений или форум сообщений. Для размещения активного веб-сайта веб-сервер Apache должен быть настроен на использование одного из его многочисленных модулей, например, модуля mod_php. Когда делается запрос страницы на динамическом веб-сайте, веб-сервер Apache сначала ищет страницу в корневом каталоге своего документа.
Если он не найдет страницу, он передаст запрос конкретному модулю Apache с именем CGI-bin. Этот модуль выполнит ваш скрипт и вернет результаты его выполнения на веб-сервер, который затем отправит их обратно в браузер, сделавший первоначальный запрос.
Работает ли веб-сервер Apache с Windows?
Да, сервер Apache может работать как с Linux, так и с Windows. Это делает его универсальным вариантом для многих предприятий и организаций. Если вы ищете веб-сервер, который будет работать с вашей операционной системой, сервер Apache может быть для вас правильным выбором. Веб-сервер Apache используется для?
Угроза безопасности веб-сервера Apache?
Нет, Apache Server не имеет известных уязвимостей безопасности. Как один из наиболее безопасных вариантов, доступных сегодня, вы можете быть уверены, что сервер Apache защитит ваши данные от потенциальных угроз в Интернете.
Apache Software Foundation
Фонд Apache Software Foundation является значительной силой в современном сообществе разработчиков открытого исходного кода, предоставляя около десяти процентов всех пакетов с открытым исходным кодом. Фонд добровольцев собирает средства для своих проектов за счет индивидуальных пожертвований и корпоративного спонсорства, которые используются для предоставления ресурсов, включая оборудование, пропускную способность Интернета, услуги хостинга и лицензии на программное обеспечение.
Это позволяет программистам совместно разрабатывать код для непосредственного тестирования платформы перед публичным выпуском. Он был основан в 1999 году Брайаном Белендорфом. Он был связан с несколькими более ранними фондами — прежде всего с The Mozilla Organization (которая курирует Firefox), — но хотел создать организацию, которая уделяла бы меньше внимания коммерческой выгоде и больше — поощрению сотрудничества.
Сервер Apache — это приложение веб-сервера, которое можно использовать для различных целей, от размещения веб-сайта до работы в качестве прокси-сервера. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache License, и его может использовать любой желающий. Apache Foundation наблюдает за его развитием.
Доступ к серверу Apache
Apache — это HTTP-сервер с открытым исходным кодом. Он использовался для нескольких целей, таких как сетевые приложения и личные проекты. Например, PHP, работающий на сервере Apache, позволяет разработчикам использовать веб-сайты с динамическим содержимым без особых знаний о сервере. Чтобы настроить Apache, вам потребуется доступ .htaccess.
Все планы Hostinger поддерживают этот файл конфигурации Apache. HTTP-часть модулей веб-сервера Apache обрабатывает данные, хранящиеся в базах данных, доступных через сетевые протоколы. Доступны и другие FTP-серверы, но в этой статье основное внимание будет уделено использованию Apache в качестве FTP-сервера.
Поскольку он уже настроен и обычно запущен и работает, если вы установили его с помощью своих репозиториев дистрибутива после установки Linux, BSD или другой операционной системы типа Unix, все, что вам нужно сделать, это настроить брандмауэр, чтобы разрешить доступ к порту 21 (по умолчанию порт для FTP) на компьютере с Apache.
Особенности веб-серверов Apache
Модульная система позволяет различным функциям улучшать их основную функциональность. Они включают:
- Поддержка многих языков, включая PHP, Perl и Python
- возможность размещения нескольких веб-сайтов на одном сервере, таких как статические файлы и т. д.
- совместимость с различными операционными системами, включая Windows, Linux и macOS
- широкий спектр функций безопасности, которые можно настроить в соответствии с вашими конкретными потребностями
- расширенные возможности ведения журнала, которые помогут вам устранить любые проблемы, которые могут возникнуть
Как видите, Apache — очень универсальный веб-сервер со множеством функций, которые можно настроить в соответствии с вашими конкретными потребностями.
Если вы ищете стабильная и надежная платформа для создания вашего сайта, Apache — хороший выбор.
Разнообразие модулей
Одним из преимуществ использования Apache является то, что он предоставляет множество многопроцессорных модулей (MPM), которые можно использовать для оптимизации производительности вашего сервера. Доступно несколько различных MPM, и у каждого из них есть свои плюсы и минусы.
MPM по умолчанию для Apache — Prefork MPM. Этот MPM очень стабилен и эффективен, но он не так хорошо масштабируется, как некоторые другие варианты.
Если вы ожидаете большой объем трафика, вы можете рассмотреть возможность использования одного из других MPM.
Worker MPM — хороший вариант для серверов, которым необходимо обрабатывать множество одновременных запросов. Он более масштабируем, чем Prefork MPM, но менее стабилен. Worker MPM — хороший выбор, если вы используете загруженный веб-сайт.
Event MPM — еще один хороший вариант для серверов с высокой нагрузкой. Он очень масштабируемый и эффективный, но может быть немного сложнее в настройке, чем некоторые другие варианты. Event MPM — хороший выбор, если вам нужен высокопроизводительный сервер.
Выбор правильного MPM для вашего сервера может быть сложным, но очень важно выбрать тот, который наилучшим образом соответствует вашим потребностям.
Apache предоставляет множество вариантов, чтобы вы могли найти идеальное решение для своего сервера. Используя правильный MPM, вы можете гарантировать, что ваш сервер Apache работает максимально эффективно.
Сравнение Apache и NGINX
Apache — это веб-сервер с открытым исходным кодом, работающий с самыми популярными операционными системами Linux. Он существует с 1995 года и был разделен на два сервера (форк) в 1999 году: HTTPD-сервер Apache и контейнер сервлетов Apache Tomcat.
NGINX — создан Игорем Сысоевым еще в 2002 году — это высокопроизводительный веб-сервер и обратный прокси, завоевавший огромную популярность в последние годы.
Есть много причин постоянного успеха Apache, но главными факторами, по-видимому, являются его стабильность, универсальность и большая пользовательская база. Apache используется более чем половиной всех веб-сайтов в Интернете (по данным Top), что делает его самым популярным веб-сервером, используемым сегодня.
Тот факт, что Apache является открытым исходным кодом, позволяет его дальнейшее развитие, поскольку разработчики могут сами вносить изменения и улучшения, если захотят — это привело к тому, что многие люди предпочитают Apache другим серверам. Другой причиной его популярности может быть объем информации о нем в Интернете.
С другой стороны, NGINX стал популярен благодаря своей высокой производительности и низкому потреблению ресурсов.
Он часто используется в качестве обратного прокси-сервера перед Apache (или другим веб-сервером), что может повысить общую производительность системы. NGINX также становится все более популярным для использования в архитектурах микросервисов. Другой популярной альтернативой Apache является LiteSpeed.
Сервер Apache — один из самых популярных веб-серверов с открытым исходным кодом, используемых сегодня. Он поддерживает более половины веб-сайтов мира и отвечает за более 60% всех доменов в Интернете.
Группа создала сервер Apache в Калифорнийском университете в Беркли под руководством Роба Маккула (отсюда его название) для свободного распространения с исходным кодом под лицензией с открытым исходным кодом.
Apache поддерживает более 60% всех веб-сайтов в Интернете, а также работает на более чем двух третях всех существующих сегодня активных серверов. Это программное обеспечение существует уже давно, и многие люди привыкли полагаться на него как на основное средство размещения контента в Интернете.
Рекомендации
https://httpd.apache.org/
https://en.wikipedia.org/wiki/Apache_HTTP_Server
Что такое веб-сервер Apache?
Веб-серверы используют программное обеспечение для обработки запросов и обеспечения доступа к содержимому вашего веб-сайта для браузеров. Однако существует множество различных типов серверного программного обеспечения, каждое из которых имеет свои преимущества и недостатки. Одной из наиболее распространенных серверных архитектур является веб-сервер Apache, но что такое Apache?
В этом посте мы ответим на этот вопрос. Мы рассмотрим плюсы и минусы Apache и покажем вам, как узнать, использует ли ваш веб-сервер это программное обеспечение. Давайте начнем!
- 1
Что такое Апач?
- 1.1 Отличается ли Apache от других веб-серверов?
- 2
Как работает сервер Apache?
- 2. 1 Как определить, использует ли ваш веб-сервер Apache
- 3 Плюсы и минусы Apache
- 4 Заключение
Что такое Apache?
Apache HTTP Server Project — это программное обеспечение веб-сервера с открытым исходным кодом, которое работает в различных операционных системах, включая Windows и UNIX. Это означает, что его программное обеспечение можно использовать и редактировать бесплатно, а разработчики постоянно работают над улучшением проекта:
Важно понимать, что Apache — это а не сам сервер. Веб-серверы — это компьютеры, на которых хранятся файлы вашего сайта и обрабатываются запросы от браузеров посетителей. Эти серверы используют программное обеспечение (например, Apache или NGINX) для приема запросов, извлечения информации и предоставления ее пользователям.
Программное обеспечение представляет собой проект Apache Software Foundation, включающий более 350 инициатив. Эти предприятия охватывают различные области, такие как управление базами данных, безопасность веб-сайтов, облачные вычисления и виртуальные машины.
Apache является одним из самых популярных вариантов программного обеспечения для веб-серверов с момента его выпуска в 1995 году. В настоящее время на нем работает 31 процент всех известных веб-сайтов. Среди этих сайтов вы найдете известные имена, такие как Facebook, LinkedIn, IBM и Adobe.
Отличается ли Apache от других веб-серверов?
Существует несколько вариантов программного обеспечения веб-сервера. Каждый из них предлагает уникальные преимущества в производительности и подходит для разных типов веб-сайтов.
Помимо Apache, популярными претендентами являются NGINX и Tomcat. Давайте посмотрим на некоторые различия и сходства между этими программами веб-сервера.
НГИНКС
В настоящее время самым популярным программным обеспечением для веб-серверов в мире является NGINX, поддерживающий 33% известных веб-сайтов.
NGINX имеет как открытую, так и платную версии (последняя называется NGINX Plus). Программное обеспечение может обрабатывать запросы к серверу, как Apache, но оно предназначено для одновременной обработки большего количества запросов. Nginx обычно доступен у лучших провайдеров выделенного хостинга и служит отличным вариантом для сайтов с высокой посещаемостью.
Кроме того, NGINX является масштабируемым и, возможно, работает лучше и быстрее. Тем не менее, это может быть более сложно использовать, если вы новичок. Он также предлагает меньше вариантов настройки, поскольку не использует настраиваемые модули. Для получения дополнительной информации мы рекомендуем ознакомиться с нашим полным руководством по Apache и NGINX.
Томкэт
Другой проект Apache Software Foundation, Tomcat, представляет собой программное обеспечение веб-сервера, ориентированное на приложения Java.
Вы можете использовать Tomcat для общих HTTP-приложений. Однако он не обеспечивает наилучшей производительности и предлагает меньше возможностей для настройки. Вместо этого он сияет динамическим контентом, использующим JavaScript, таким как приложения, интерактивный контент веб-сайтов и видеоигры.
Кроме того, на одном сервере можно запускать Tomcat и Apache. Эта настройка позволяет серверу легко обрабатывать запросы как HTTP, так и Java. (Обратите внимание, что Java — это не то же самое, что JavaScript . JS — это нечто совершенно другое.)
Как работает сервер Apache?
Apache работает поверх веб-сервера HTTP. Когда кто-то посещает ваш сайт, его браузер отправляет HTTP-запрос на сервер. Apache получит этот запрос, а затем доставит файлы веб-сайта, чтобы пользователь мог просматривать ваш контент. По сути, Apache действует как посредник между вашим сайтом и браузерами пользователей.
Кроме того, Apache состоит из модулей. Эти элементы могут повысить функциональность сервера и позволить ему обрабатывать различные типы запросов. Вы можете настроить их, открыв файл .htaccess вашего сайта.
Вот некоторые другие ключевые особенности Apache:
- Интернет-протокол версии 6 (IPv6)
- Отслеживание сеанса
- Геолокация IP-адреса
- Протокол передачи файлов (FTP)
- HTTP/2
Однако, если вы не хотите настраивать Apache, вам не нужно разбираться во всех тонкостях функционирования всех этих протоколов и функций. Это работа вашего хостинг-провайдера.
Как определить, использует ли ваш веб-сервер Apache
В большинстве случаев доступ к серверному программному обеспечению зависит от вашего веб-хоста. Эта компания выберет для работы конкретную программу. Поэтому мы рекомендуем провести исследование до того, как зафиксировать хост, если программное обеспечение, которое он использует, важно для вас.
Если вы не уверены, использует ли ваш сервер Apache, обычно это можно быстро проверить, просмотрев заголовок HTTP вашего сайта. Есть несколько способов сделать это.
Если вы используете Google Chrome, вы можете просмотреть HTTP-заголовок вашего сайта с помощью инструментов разработчика Chrome. Нажмите на три точки в правом верхнем углу браузера и выберите Дополнительные инструменты > Инструменты разработчика :
Затем перейдите на вкладку Сеть и нажмите Ctrl + R для запроса информации со страницы. Затем вам нужно будет выбрать верхний файл, чтобы увидеть больше информации. В данном случае это www.adobe.com :
.Нажмите на файл и прокрутите вниз до Заголовки ответа . Вы должны увидеть имя сервера в списке:
Другие инструменты, такие как GTmetrix и Pingdom, также могут отображать тип вашего сервера в заголовке HTTP. Однако имейте в виду, что если сайт, который вы проверяете, использует Cloudflare или другой CDN, это может помешать вам увидеть эту информацию.
Apache: плюсы и минусы
Использование Apache имеет как преимущества, так и недостатки. Вот основные плюсы:
- Это приложение с открытым исходным кодом, что делает его абсолютно бесплатным для использования и настройки.
- Программное обеспечение в целом надежно, и в него часто вносятся исправления для повышения его производительности и уменьшения уязвимостей системы безопасности.
- Он удобен для начинающих и относительно прост в освоении.
- Программное обеспечение работает на нескольких платформах.
- Apache хорошо работает с такими языками программирования, как PHP и Python.
- Программное обеспечение совместимо с веб-сайтами WordPress.
- Существует большое сообщество разработчиков и поддержка, если у вас возникнут какие-либо проблемы.
Однако есть и недостатки использования этого серверного программного обеспечения:
- Может бороться с большим количеством трафика.
- Изменение конфигураций по умолчанию может сделать вас уязвимым для угроз безопасности.
- Вам потребуется часто обновлять программное обеспечение (обычно это должен делать ваш веб-хост).
В целом, Apache может быть отличным выбором. Однако мы не рекомендуем слишком сильно настраивать модули, пока вы не поймете, что делаете. Мы также рекомендуем использовать документацию сервера и форумы поддержки. В противном случае вы рискуете подвергнуть свой сайт и его данные риску.
Заключение
Проект HTTP-сервера Apache — один из самых популярных вариантов программного обеспечения для веб-серверов во всем мире. Это программное обеспечение с открытым исходным кодом, и вы можете настроить его в соответствии со своими потребностями. Однако, как и любое программное обеспечение, оно имеет свои преимущества и недостатки.
В целом, Apache удобен для начинающих, универсален и часто обновляется. Однако вы можете оставить свой сайт уязвимым, если настроите программное обеспечение. Поэтому мы рекомендуем узнать об Apache и использовать форумы поддержки, если вы хотите глубже погрузиться в его работу.
Как мы уже говорили, большинство хостов поддерживают это программное обеспечение веб-сервера, и некоторые из рекомендуемых нами — Pressable, Cloudways, SiteGround и Flywheel.
У вас есть вопросы об Apache? Дайте нам знать в комментариях ниже!
Запуск базового веб-сервера Apache | Документация Compute Engine
В этом руководстве показано, как использовать Compute Engine для развертывания веб-сайта Apache. сервер на экземпляре виртуальной машины (ВМ). Чтобы узнать больше о технологиях которые вы можете использовать для веб-обслуживания на Google Cloud, см. Выбор варианта хостинга на Облако Google.
ВМ на Compute Engine можно контролировать как любой стандартный сервер Linux. Разверните веб-сервер Apache, чтобы изучить основы запуска сервера на экземпляре виртуальной машины.
Предпосылки
Создайте виртуальную машину Linux, которая разрешает HTTP-трафик, выполнив следующие действия:
Создайте новую виртуальную машину Linux. Дополнительные сведения см. в разделе Краткое руководство по использованию Linux. ВМ.
- Необязательно: при создании виртуальной машины Linux можно выбрать параметр Разрешить HTTP.
чекбокс traffic , чтобы открыть порт
tcp:80
для трафика и разрешить HTTPS чекбокс traffic , чтобы открыть портtcp:443
. Однако, если вы хотите открыть другой порт, настройте брандмауэр после создания виртуальной машины, а затем настроить Apache использовать брандмауэр.
- Необязательно: при создании виртуальной машины Linux можно выбрать параметр Разрешить HTTP.
чекбокс traffic , чтобы открыть порт
Подключитесь к виртуальной машине Linux. Дополнительные сведения см. в разделе Подключение к экземпляр ВМ.
Установить Apache
- В консоли Google Cloud перейдите на страницу VM Instances .
Перейти к экземплярам ВМ
- Чтобы подключиться к только что созданной виртуальной машине Linux, нажмите SSH в строке ВМ.
Для обновления доступных пакетов и установите пакет
apache2
, используйте диспетчер системных пакетов для этой операционной системы. Если вы следовали инструкциям Quickstart, это создает виртуальную машину Ubuntu. Чтобы обновить Виртуальная машина Ubuntu, выполните следующую команду:sudo apt update && sudo apt -y установить apache2
После установки Apache операционная система автоматически запускает сервер Апач.
Убедитесь, что Apache работает:
sudo systemctl статус apache2
Перезаписать веб-страницу веб-сервера Apache по умолчанию:
echo '
Hello World!
' | тройник судо /var/www/html/index. html
Проверьте свой сервер
Убедитесь, что ваша виртуальная машина обслуживает трафик на своем внешнем IP-адресе.
- В консоли Google Cloud перейдите на страницу VM Instances .
Перейти к экземплярам ВМ
- Скопируйте внешний IP-адрес для вашей виртуальной машины в столбце Внешний IP-адрес .
- В браузере перейдите по адресу
http://[EXTERNAL_IP]
. Не подключайтесь с помощьюhttps
, потому что это заставляет сервер возвращатьОтказ в подключении
ошибка.
Теперь вы должны увидеть «Hello World!» страница.
Очистить
Чтобы не взимать плату за виртуальную машину после завершения экспериментов, удалите ВМ. Дополнительные сведения см. в разделе Очистка.
Поиск и устранение неисправностей
Получение сообщения об ошибке Отказ в соединении
Если вы видите ошибку Connection Refused
, возможно, что:
Ваш экземпляр ВМ недоступен публично, потому что правила вашего брандмауэра или теги неправильно сконфигурированы одним из следующих способов:
- Экземпляр виртуальной машины не имеет надлежащего тега, позволяющего использовать Compute Engine. чтобы применить соответствующие правила брандмауэра к вашему экземпляру.
- В вашем проекте нет правила брандмауэра, разрешающего трафик на внешний IP-адрес для вашего экземпляра.
Вы пытаетесь получить доступ к виртуальной машине, используя адрес
https
. Убедитесь, что ваш URL-адресhttp://[EXTERNAL_IP]
, а неhttps://[EXTERNAL_IP]
.
Чтобы убедиться, что ваш экземпляр ВМ имеет правильные теги:
- В консоли Google Cloud перейдите на страницу экземпляров ВМ .
Перейти к экземплярам ВМ
- Щелкните имя экземпляра, к которому вы пытаетесь подключиться.
- Нажмите Изменить вверху страницы.
- Прокрутите вниз до Брандмауэры и установите флажок Разрешить HTTP-трафик . проверено. Если он не отмечен, проверьте его.
- Сохраните изменения. Это гарантирует, что правильные теги будут добавлены в экземпляр ВМ.
Чтобы убедиться, что существует правильное правило брандмауэра:
- В консоли Google Cloud перейдите на страницу Правила брандмауэра .
Перейти к правилам брандмауэра
- Найдите правило брандмауэра, разрешающее все диапазоны IP-адресов через tcp:80. Обычно,
это правило называется правилом
default-allow-http
. - Если правила не существует, создайте его.
- Щелкните Создать правило брандмауэра .
- Введите имя правила, например
default-allow-http
. - В поле Диапазон IP-адресов источника введите
0.0.0.0/0
, чтобы разрешить трафик от все источники. - В разделе Протоколы и порты отметьте Указанные протоколы и порты и введите
tcp:80
.