Сайти з підтримкою 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(ваш_домен або Ip_адреса)замініть значення ваш_домен, яке ви використовуєте також для Ip_адреси.

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

Це видалить символічне посилання в каталозі сайтів, і сайт більше не буде обслуговуватися.

Керування сайтами за допомогою 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;
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. Вимкнення сайту

Щоб вимкнути сайт, видаліть символічне посилання з каталогу сайтів:

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

Після цього перезавантажте NGINX, щоб застосувати зміни:

sudo systemctl перезавантажити 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