15%

Alexhost виконує ваші бажання

Пройдіть опитування та вигравайте призи

MERRY15
Почати
30.10.2024

Сайти, активовані за допомогою 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 виконує ваші бажання

Пройдіть опитування та вигравайте призи

MERRY15
Почати