Nginx

Как да инсталирате множество домейни на сървър Nginx

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

Инсталирайте Nginx

По подразбиране Ubuntu не се доставя с Nginx. Следователно трябва да се инсталира ръчно със следните команди.

sudo apt-get update
sudo apt-get инсталирате Nginx

Първата команда актуализира информацията за локалното хранилище, докато втората команда инсталира Nginx в системата.

Конфигурирайте защитната стена

Конфигурирането на защитната стена зависи от софтуера на защитната стена, инсталиран в системата. Тъй като на пазара се предлагат няколко защитни стени, не е лесно да ги научите как да ги конфигурират. По този начин това ръководство само демонстрира как да конфигурирате вградената защитна стена по подразбиране - UFW, известна още като неусложнена защитна стена. Други защитни стени трябва да имат подобна конфигурация като тази.

sudo ufw списък с приложения
sudo ufw позволи 'Nginx HTTPS'
sudo ufw разреши

Първата команда изброява наличните профили, които да се използват в защитната стена. Втората команда използва Nginx HTTPS профил в списъка за разрешаване (известен още като Whitelist) на защитната стена, а третата команда позволява защитната стена. Това ръководство по-късно показва как да използвате HTTPS. HTTPS е необходим в днешно време, тъй като осигурява връзката за данни между клиента и сървъра. Браузъри като Chrome автоматично ще задават по подразбиране HTTPS версия на всеки сайт в бъдеще; следователно е необходимо да имате активиран SSL за всеки уеб сайт, особено когато собственикът на уебсайта планира да подобри своя SEO рейтинг и сигурността.

Конфигуриране на файлова система

Въпреки че Nginx поддържа да обслужва съдържание чрез множество имена на домейни, той е конфигуриран по подразбиране да обслужва съдържание през един домейн. Пътят по подразбиране е Nginx е / var / www / html. Множество домейни изискват да имат множество директории. Следващите инструкции демонстрират как да създадете множество директории за обслужване на съдържание чрез множество домейни.

  1. Създайте директория за всеки домейн със следните команди. Флагът p е необходим за създаване на родителски директории, което означава, че когато www или която и да е друга директория в адреса не съществува, той създава целия ред от директории с флаг p.
  2. sudo mkdir -p / var / www / nucuta.com / html
    sudo mkdir -p / var / www / nucuta.net / html.
  3. Присвояване на собственост на директориите. Това гарантира, че потребителят има пълен контрол над директориите. Тук обаче потребителят е взет от влезлия в момента потребител и затова е важно да влезете в потребителския акаунт, който ще бъде присвоен на директорията. Първият сегмент на $ USER е за потребителя, а вторият сегмент е за групата, към която принадлежи потребителят.
  4. sudo chown -R $ ПОТРЕБИТЕЛ: $ USER / var / www / nucuta.com / html
    sudo chown -R $ ПОТРЕБИТЕЛ: $ USER / var / www / nucuta.net / html
  5. Променете разрешението на директориите със следните команди. Има 3 обекта и 3 разрешения във файловите системи на Linux. В следващия пример първата цифра е за потребител, втората цифра е за групата, а последната цифра е за всички (известна още като обществена). Разрешението за четене има стойност 4, разрешението за запис има стойност 2, а разрешението за изпълнение има стойност 1. Тези числа могат да се събират, за да се промени разрешението на даден обект, например 755 означава, ПОТРЕБИТЕЛ има разрешение да ЧЕТЕ, ПИШЕ и ИЗПЪЛНЯВА (4 + 2 + 1 = 7), ГРУПАТА има разрешение да ЧЕТЕ и ИЗПЪЛНЯВА (4 + 1 = 5), ALL има разрешение да направи същото. Разрешението се прилага за файлове и директории, както с различни правила. Правилата са изброени в следващата таблица.
  6. sudo chmod -R 755 / var / www / nucuta.com / html
    sudo chmod -R 755 / var / www / nucuta.net / html
  7. След като бъде дадено разрешение, създайте страница по подразбиране за всеки домейн в уеб браузъра, когато се извика голият домейн. Гол домейн означава домейн без никакви поддомейни, например nucuta.com.
  8. nano / var / www / nucuta.com / html / index.html.
    nano / var / www / nucuta.net / html / index.html.
  9. Добавете следния код на шаблон във всеки индекс файл и запазете като индекс.html в съответната директория (както се вижда по-горе).


Добре дошли в Site One


Успех!



Конфигурирайте Nginx

Конфигурирането на Nginx не е толкова трудно, тъй като Nginx по подразбиране поддържа множество домейни. Въпреки че е възможно да се използва информация за конфигурация на множество домейни в един и същ файл, препоръчително е да се използват множество файлове за информация за конфигурацията на всеки домейн. Конфигурационният файл по подразбиране се нарича „по подразбиране“ и се намира в / etc / nginx / sites-available / default

  1. Придвижете се до / etc / nginx / sites-available / default и изтрийте цялата информация за конфигурацията. Използвайте текстов редактор като nano или notepad++
  2. nano / etc / nginx / sites-available / default
  3. Копирайте и поставете следната конфигурация и я запазете.
  4. сървър
    слушайте 80 default_server;
    слушайте [::]: 80 сървър по подразбиране;
    root / var / www / html;
    индекс индекс.html индекс.htm индекс.nginx-debian.html;
    Име на сървъра _;
    местоположение /
    try_files $ uri $ uri / = 404;

  5. Копирайте информацията за конфигурацията във файла по подразбиране в специфичен за домейн конфигурационен файл със следната команда.
  6. sudo cp / etc / nginx / sites-available / default / etc / nginx / sites-available / nucuta.com
  7. Повторете гореспоменатата стъпка и към другия домейн със следната команда.
  8. sudo cp / etc / nginx / sites-available / default / etc / nginx / sites-available / nucuta.нето
  9. Отворете двата файла с текстов редактор като nano (nano) и променете стойността на директивата server_name, както следва.
  10. В / etc / nginx / sites-available / nucuta.com файл
    име на сървър nucuta.com
    В / etc / nginx / sites-available / nucuta.нетен файл
    име на сървър nucuta.нето
  11. След като и двата файла са конфигурирани, копирайте ги в следните директории, за да активирате конфигурационните файлове. Създава символична връзка между действителния файл и директорията; следователно в бъдеще трябва да се променят само файловете в директорията, достъпна за сайт, за да се правят промени както в директориите, достъпни за сайта, така и в директориите с активиран сайт.
  12. sudo ln -s / etc / nginx / sites-available / nucuta.com / etc / nginx / sites-enabled /
    sudo ln -s / etc / nginx / sites-available / nucuta.net / etc / nginx / sites-enabled /
  13. Прегледайте конфигурационните файлове, направете още промени и използвайте следните команди, за да направите промените ефективни. Първата команда гарантира, че конфигурационните файлове не съдържат невалидна информация за конфигурацията, а втората команда гарантира, че сървърът е правилно презареден или рестартиран, за да направи промените ефективни. Използвайте команди за презареждане или рестартиране. Презареждането е за предпочитане, но рестартирането може да се използва, ако презареждането не се получи.
  14. systemctl конфигурация nginx
    systemctl reload nginx или systemctl рестартирайте nginx.

Конфигурирайте DNS записите

Конфигурирането на настройките на DNS зависи от доставчика на DNS. Всички DNS доставчици обаче имат подобен интерфейс. По подразбиране регистраторът на домейн предоставя достъп до DNS записите. Тази фаза изисква IP адреса на сървъра, където се хоства уеб сървърът nginx. Получаването на IP адреса зависи изцяло от платформата. Платформи като Linode, DigitalOcean, Vultr показват IP в таблото. Ако е трудно да се намери, свържете се с поддръжката на съответния доставчик на услуги.

  1. В настройките на DNS добавете запис „A“ и използвайте IP адреса на сървъра като стойност, име на домейн като домакин. Уверете се, че името на домейна, използвано тук, е същото като името на домейна, използвано в конфигурационния файл на Nginx. След като конфигурирате единия домейн, повторете го и за другия домейн.
  2. Нека DNS записите да бъдат актуализирани. Обикновено отнема до 24 часа, но обикновено това се прави за няколко минути.

Активирайте HTTPS

Активирането на HTTPS е съвсем просто и може да се направи безплатно с letsencrypt. Letsencrypt е сертифициращ орган с отворен код, който пуска безплатни SSL сертификати на уебмастъри, за да криптира трафика към техния уебсайт.

  1. Инсталирайте допълнителна операционна система със следната команда. Имайте предвид, че този сегмент ще използва демон, за да инсталира всички необходими пакети, вместо apt или apt-get. Snap е алтернативно управление на пакети и инструмент за разполагане, който може да се използва за инсталиране на пакети в Ubuntu и много други операционни системи Linux. Това не е необходимо за инсталиране, когато имате Ubuntu 16.04 LTS или друга по-висока версия. Все пак изпълнете последната команда, за да сте сигурни, че моментната снимка е актуална.
  2. sudo apt актуализация
    sudo apt инсталирате snapd
    sudo snap инсталиращо ядро; sudo snap опресняване на ядрото
  3. Инсталирайте certbot, който конфигурира и подновява SSL сертификатите за двата домейна. Без certbot SSL сертификатите трябва да се инсталират ръчно. На всичкото отгоре подновяването трябва да се извършва и ръчно. Това може да е проблем, тъй като сертификатите letsencrypt изтичат след 3 месеца по-късно. Следователно, SSL сертификатът трябва да се подновява веднъж на 3 месеца, за да се гарантира, че сайтът може да функционира правилно, както се очаква. Използвайте следната команда, за да инсталирате certbot с лекота.
  4. sudo snap install --classic certbot
  5. Certbot е инсталиран в директорията / snap / bin / certbot. За да стартирате изпълнимия файл на certbot през командния ред, без да посочвате пълния му път, изпълнете следната команда. Той създава символична връзка между snap / bin / certbot и / usr / bin / certbot директорията, като по този начин позволява на изпълнението на certbot да се изпълнява в интерфейса на командния ред, без да се посочва пълният му път.
  6. sudo ln -s / snap / bin / certbot / usr / bin / certbot
  7. Конфигурирайте екземпляра Nginx в системата със следната команда. Има още една команда, която директно насочва конкретния домейн при конфигуриране на SSL. Посочената по-долу команда инсталира и конфигурира SSL сертификата за посоченото име на домейн.
  8. sudo certbot -nginx
    certbot --nginx -d nucuta.com
  9. Изпълнете следната команда, за да симулирате процеса на обновяване. Действителната команда без флаг -dry-run се изпълнява автоматично, тъй като certbot конфигурира cronjob за автоматично стартиране на командата след няколко пъти по-късно. Необходимо е сухо тестване, за да се гарантира, че certbot може да поднови сертификатите без никакви препятствия.
  10. sudo certbot подновяване - изсушаване

Заключение

Конфигурирането на множество имена на домейни в уеб сървър на Nginx е доста лесно, тъй като предоставя множество опции за улесняване на процеса. Certbot прави възможно инсталирането на SSL сертификати за множество домейни за уеб сървър на Nginx. Като SSL сертификат, това ръководство използва letsencrypt, който предоставя SSL сертификати безплатно за произволен брой домейни. Единственият недостатък на letsencrypt е краткият му живот, но certbot гарантира, че няма да представлява проблем за уеб администратора с неговия автоматичен процес на обновяване.

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...