Сайты, поддерживаемые NGINX или Apache ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
06.12.2024

Сайты, поддерживаемые NGINX или Apache

Сайты, поддерживаемые NGINX или Apache

NGINX и Apache – два самых распространенных веб-сервера в мире. Оба они мощные, многофункциональные и хорошо настраиваемые, что делает их лучшим выбором для хостинга веб-сайтов. В системах на базе Linux NGINX и Apache управляют веб-сайтами, включая и отключая их с помощью системы конфигурационных файлов, обычно называемых sites-enabled и sites-available.

Понятие сайтов-доступных и сайтов-отключенных

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

  • sites-available: Эта директория содержит файлы конфигурации для всех сайтов, которые потенциально можно обслуживать с помощью вашего веб-сервера. Файлы в этой директории определяют виртуальные хосты или серверные блоки (в случае NGINX) и их конфигурацию. Эти веб-сайты не будут активны до тех пор, пока они не будут включены.
  • sites-enabled: Эта директория содержит символические ссылки на конфигурационные файлы сайтов, которые в данный момент включены и обслуживаются веб-сервером. Только те сайты, которые были “включены”, будут активны и доступны для пользователей.

Управление сайтами с помощью Apache

1. Конфигурация виртуальных хостов Apache

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

Пример файла конфигурации виртуального хоста для Apache

Вы можете создать файл конфигурации виртуального хоста в каталоге /etc/apache2/sites-available/. Например, чтобы настроить сайт example.com:

sudo nano /etc/apache2/sites-available/test.oo.md.conf

Внутри этого файла вы определите конфигурацию для example.com:

.
ServerAdmin admin@test.oo.md
ServerName (ваш_домен или Ip_адрес)
ServerAlias www.test.oo.md
DocumentRoot /var/www/test.oo.md
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log комбинированный
</VirtualHost

*ServerName(your_domain или Ip_address)замените значение your_domain, которое вы используете и для Ip_address.

2. Включите сайт

После создания файла конфигурации виртуального хоста вы можете включить сайт с помощью команды a2ensite (Apache 2 Enable Site):

sudo a2ensite test.oo.md.conf

Это создаст символическую ссылку из /etc/apache2/sites-available/test.oo.conf в /etc/apache2/sites-enabled/test.oo.md.conf, эффективно включив сайт.

3. Перезагрузите Apache

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

sudo systemctl reload apache2

4. Отключите сайт

Чтобы отключить сайт, вы можете использовать команду a2dissite (Apache 2 Disable Site):

sudo a2dissite example.com.conf

Это удалит символическую ссылку в каталоге sites-enabled, и сайт больше не будет обслуживаться.

Управление сайтами с помощью NGINX

1. Конфигурация серверного блока NGINX

NGINX использует серверные блоки, которые эквивалентны виртуальным хостам Apache. Файлы конфигурации серверных блоков размещаются в каталоге /etc/nginx/sites-available/.

Пример конфигурации серверных блоков для NGINX

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

sudo nano /etc/nginx/sites-available/test.oo.md

В этом файле вы определите блок сервера для example.com:

server {
listen 80;
имя_сервера example.com www.test.oo.md;
root /var/www/test.oo.md;
index index.html index.htm;
access_log /var/log/nginx/test.oo.md_access.log;
error_log /var/log/nginx/test.oo.md_error.log;
расположение / {
try_files $uri $uri/ =404;
}
}

2. Включить сайт

Чтобы включить сайт, создайте символическую ссылку в каталоге sites-enabled, которая будет указывать на файл конфигурации в sites-available. Это можно сделать с помощью команды ln:

sudo ln -s /etc/nginx/sites-available/test.oo.md /etc/nginx/sites-enabled/

3. Тестовая конфигурация NGINX

Перед перезагрузкой NGINX стоит протестировать конфигурацию, чтобы убедиться в отсутствии синтаксических ошибок:

sudo nginx -t

4. Перезагрузите NGINX

Если тест конфигурации пройден, перезагрузите NGINX, чтобы применить изменения:

sudo systemctl reload nginx

5. Отключите сайт

Чтобы отключить сайт, удалите символическую ссылку из каталога sites-enabled:

sudo rm /etc/nginx/sites-enabled/test.oo.md

После этого перезагрузите NGINX, чтобы применить изменения:

sudo systemctl reload nginx

Лучшие практики управления сайтами с NGINX или Apache

  1. Упорядочивайте файлы конфигурации: Всегда создавайте отдельные файлы конфигурации для каждого сайта или домена в каталоге sites-available. Это облегчает управление несколькими сайтами.
  2. Тестируйте конфигурацию перед перезагрузкой: Всегда проверяйте конфигурацию с помощью apachectl configtest (для Apache) или nginx -t (для NGINX) перед перезагрузкой веб-сервера. Это поможет вам избежать проблем, которые могут привести к поломке ваших сайтов.
  3. Используйте контроль версий для конфигурационных файлов: Если вы управляете большим количеством сайтов или имеете сложную конфигурацию, подумайте об использовании системы контроля версий (например, Git) для ваших конфигурационных файлов. Это позволит вам отслеживать изменения и при необходимости откатываться назад.
  4. Используйте HTTPS: Всегда настраивайте SSL-сертификаты для своих сайтов. Let’s Encrypt предоставляет бесплатные SSL-сертификаты и может быть легко интегрирован с Apache или NGINX для поддержки HTTPS.
  5. Мониторинг и журналы: Всегда настраивайте журналы доступа и ошибок для каждого сайта. Это поможет в устранении неполадок и мониторинге трафика.

Заключение

И NGINX, и Apache предоставляют мощные возможности для управления веб-сайтами с помощью каталогов sites-available и sites-enabled. Такая структура позволяет легко включать, отключать и управлять несколькими сайтами с одного сервера.

Для Apache можно использовать такие команды, как a2ensite и a2dissite, а в NGINX можно вручную создавать и удалять символические ссылки для включения или отключения сайтов. Независимо от используемого веб-сервера, не забывайте перезагружать сервер после внесения изменений и всегда тестируйте конфигурации перед их применением.

Следуя этим рекомендациям, вы сможете без проблем управлять несколькими сайтами на веб-сервере NGINX или Apache.

Дайте мне знать, если вам понадобятся дополнительные разъяснения или помощь!

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills