15%

Alexhost исполняет ваши желания

Пройдите опрос и выигрывайте призы

ALEX26
Начать
30.10.2024
No categories

Сайты, работающие на NGINX или Apache

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

В этой статье мы познакомим вас с концепциями sites-enabled и sites-available и объясним, как включать и управлять веб-сайтами с помощью веб-серверов NGINX и Apache.

Понимание sites-available и sites-enabled

Как 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:

<VirtualHost *:80>
ServerAdmin admin@test.oo.md
ServerName (your_domain or Ip_address)
ServerAlias www.test.oo.md
DocumentRoot /var/www/test.oo.md
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

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

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

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

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 Отключить сайт):

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;
server_name 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;
location / {
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.

Дайте знать, если вам нужна дополнительная информация или помощь!

15%

Alexhost исполняет ваши желания

Пройдите опрос и выигрывайте призы

ALEX26
Начать

Похожие записи не найдены.