Сайтове, активирани с 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 (достъпни сайтове).

Разбиране на функциите sites-available и sites-enabled

NGINX и Apache използват подобна структура за управление на уебсайтове. Тази структура разделя наличните сайтове от разрешените, като позволява на системните администратори лесно да управляват кои сайтове са в реално време.

  • сайтове-достъпни: Тази директория съдържа конфигурационни файлове за всички уебсайтове, които потенциално можете да обслужвате с вашия уеб сървър. Файловете в тази директория определят виртуалните хостове или блоковете на сървъра (в случая на NGINX) и техните конфигурации. Тези уебсайтове не са активни, докато не бъдат активирани.
  • разрешени сайтове: Тази директория съдържа символни връзки към конфигурационните файлове на уебсайтовете, които в момента са разрешени и се обслужват от уеб сървъра. Само сайтовете, които са били “разрешени”, ще бъдат активни и достъпни за потребителите.

Управление на сайтове с 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
Име на сървъра (вашия_домейн или Ip_адрес)
ServerAlias www.test.oo.md
DocumentRoot /var/www/test.oo.md
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log комбиниран

*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;
server_name example.com www.test.oo.md;
корен /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. Деактивиране на сайта

За да деактивирате сайт, премахнете символната връзка от директорията с разрешени сайтове:

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