Моля изчакайте....

VPS с повече от един сайт - Nginx и виртуалните хостове

319

3 мин.

23.01.2020 г.

Преди да започнем с кода и стъпките как точно да билднем архитектурата, нека първо да си отговорим на един въпрос:

Какво е Nginx?

Във визитката си той има доста заглавия, общо взето е според случая. Може би едно от най-важните неща, които трябва да знаем е, че е с отворен код. Освен като обикновен уеб сървър, можем да го  ползваме още като базов load balancer, да кешираме страниците на сайта, reverse proxy, ssl termination и други.

Повече от един сайт на нашият сървър?

Както стана ясно, ще използваме nginx, ще ви покажа енкапсулация на конфигурационните файлове, както и как с помощта на nginx да стартирате повече от един сайт на вашият сървър. 

Ако все още нямате инсталиран nginx, можете да го направите с командите по-долу:

sudo apt update
sudo apt install nginx

Nginx идва с една дефолтна конфигурация, която бихте могли да използвате, но ако целта е да ползвате сървъра за повече от един сайт, трябва да отворите директории за различните документи, нещо подобно на това:

sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html

За да сме сигурни, че всичко с правата на тази главна директория е наред, можем да използваме следната команда:

sudo chmod -R 755 /var/www

След като ъплоуднем статичните файлове в директориите, които създадохме по-горе, можем да започнем със създаването на сървър блоковете за всеки домейн, един стандартен базов сървър блок би трябвало да изглежда по следния начин:

sudo nano /etc/nginx/sites-available/example.com
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.html;

    server_name _;

    location / {
            try_files $uri $uri/ =404;
    }
}

След като създадем нашият сървър блок, трябва да обърнем внимание, че той все още не е активиран, нека да го активираме:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Хубаво е след като запазим настройките да проверим за грешки, а след това и да рестартираме nginx:

sudo nginx -t
sudo systemctl restart nginx

Ако имате уеб базирана аплиакция, която "слуша" на някой порт, също добър вариант би било да отворите сървър блоковете в conf.d директорията на вашият nginx.

Ако търсите скорост nginx е най-добрият вариант, ако сте решили да задълбаете, голям плюс на nginx-a е модулярния дизайн, low memory footprint, базиран е на ивенти, или ако просто искате да ползвате нещо по-модерно.. то това е добър избор!

Ако трябва да направим едно сравнение с другия популярен уеб сървър "Apache", "Nginx" го бие на тестовете за performance с около 2.5 пъти! :)

Ако желаете висококачествени уеб базирани и/или мобилни приложения, нашият екип би могъл да помогне с реализацията на проекта, за да ви направим оферта, моля посетете тази страница

Какво казват за нас?

Оценката на нашите клиенти е най-
голямата ни награда!

Много хубав отзив от клиент

Име Фамилия
Оригинал

Много хубав отзив от клиент

Име Фамилия
Оригинал

Много хубав отзив от клиент

Име Фамилия
Оригинал

Имате ли нужда от мобилно приложение?
Ние можем да ви съдействаме!