Nginx ubuntu: инсталиране и конфигуриране

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

Две версии за инсталиране

Обикновено има две версии на Nginx с отворен код за Ubuntu - основна и стабилна. Основната версия е малка част от пълния пакет. Статутът "Разработване и изпитване" не означава, че основният е уязвим, напротив, той е доста стабилен. Предимства: Оптималните функции и най-новите характеристики винаги могат да се тестват предварително. Недостатък: По-вероятно е да се получат грешки, отколкото при стабилната версия.

най-новата (пълна версия на Nginx за Ubuntu) е анализирана с поредица от тестове и нейната функционалност и сигурност са на много високо ниво. Резултатът е стабилен и надежден уеб сървър, подходящ за приложения за електронна търговия.

Видът на инсталацията на Nginx

За начинаещите е необходимо правилно прилагане на инсталационните параметри, за да разположат сървъра.

Има няколко варианта за инсталиране на Nginx Ubuntu:

  1. От готовата версия на Debian/Ubuntu.
  2. От готов пакет на хранилището на Nginx.
  3. От изходния код.

Инсталирането от готов пакет (Debian/Ubuntu) с ядро и модул по подразбиране е много лесно, както и автоматичният процес на надграждане. Процесът се извършва от програма, състояща се от стабилната версия и няколко опции на модула.

Инсталирането на Ubuntu Nginx от пакет от хранилище е толкова лесно, колкото операционна система по подразбиране. можете да изберете дали да използвате стабилната версия или основната версия. По-гъвкав е и изборът на динамичния модул, който да се прилага. Последният се различава от статичен модул, но някои от тях могат да бъдат преобразувани в динамични. За Nginx процесът на актуализиране на ядрото е доста сложен и трябва да се извърши ръчно.

Предварително изготвен пакет

Ако е необходима по-голяма гъвкавост, инсталирането на Nginx от изходния код е правилният избор. Всички модули се използват според нуждите, основният код може да се променя. Стартиране на инсталацията на Nginx в Ubuntu от предварително подготвен пакет:

Предварително изготвен пакет

За да зададете тази схема по подразбиране, проверете в Ubuntu или Debian Web кои модули са вградени Full. След това инсталирайте софтуера от предварително подготвения пакет "Хранилище.

Софтуер от предварително създаден пакет от хранилище

След това се добавя следният ключ за подписване, за да се гарантира, че хранилището и пакетите са включени в списъка с ключове на мениджъра (apt).

Алгоритъм за инсталиране:

  1. След това добавете хранилището по подразбиране на Nginx от пакета на Ubuntu или Debian.
  2. Това става чрез посочване на хранилище във файла на пакета с източници.списък.
  3. Първо отворете файла с източниците.списък в конзолата nano като редактор на файлове.
  4. След отваряне на файл Добавяне на хранилището в долния ред с общ шаблон.
  5. Запишете промените, като натиснете Ctrl + x → Y → Enter.
  6. След това е възможно да инсталирате Nginx по обичайния начин.

На системата ще бъде инсталирана стабилната версия на сървъра Nginx Ubuntu.

Къде:

  • {OS Linux} - Ubuntu или Debian;
  • {кодово име} - име на използваната операционна система.

Кодовото име може да се види в следната таблица.

кодово име

Код за настройка.

Код за инсталиране

Конфигуриране на NGINX Ubuntu 18.04

Понастоящем най-добрият начин за инсталиране на модел 18.04, е да използвате версията, включена в хранилището на Ubuntu.

Конфигурационните файлове на NGINX се съхраняват в /etc/nginx/conf.d/. Обикновено за всеки домейн или поддомейн е необходим отделен файл в тази директория.

Алгоритъм за инсталиране на NGINX в Ubuntu:

  1. Копирайте файла по подразбиране.
  2. Пример за замяна.com име на домейна на сайта или публичен IP адрес.
  3. Деактивирайте файла по подразбиране, като добавите .на името си.
  4. Отваряне на файла в редактор.
  5. Заменете името на домейна или IP адреса на сайта в директивата.
  6. За готово съдържание, като например инсталации на WordPress или статични файлове, заменете пътя в директивата root с пътя до съдържанието на уебсайта.
Алгоритъм за инсталиране на NGINX в Ubuntu

Тестване на NGINX:

  1. Проверка на конфигурацията за грешки.
  2. Презарежда версията на.
  3. Отидете на IP Linode в браузъра си и се появява страницата NGINX.

Добавяне на нов сайт в сървъра

Софтуерът на стека LEMP показва група, която може да се използва за обработка на динамични страници и приложения. Вътрешните данни се съхраняват в MySQL, а динамичните процеси се обработват от Ubuntu Nginx PHP.

Изисквания:

  1. Клиенти за SSH, като Bitvise или Putty, с инструкции как да ги използвате.
  2. Основни познания за общи Unix команди за SSH към сървъра.
  3. Сървър или VPS с минимум 256 MB RAM (OpenVZ). Препоръчителен 512 MB, ако използвате KVM или Xen.
  4. Ubuntu 16.04 между 32 или 64 бита.

Предпоставка:

  1. Осигурява сървър Ubuntu.
  2. Инсталиране на пълен LAMP (Ubuntu Nginx Apache, MySQL, Perl / PHP / Python) на сървър Ubuntu.

Създаване на уеб директория

Уеб директориите са списъци или папки на сървъра, в които се съхраняват или хостват всички файлове. Той е влязъл в системата с помощта на терминал, Putty и Bitvise.

След това е необходима директория. По-долу тази команда създава две директории за два сайта, напр. ако искате да добавите само един сайт, просто посочете once вместо domain1.tld и домейн2.tld напишете желания домейн. След това собственикът на директорията се настройва на www-data и правата за достъп до директорията се променят рекурсивно. Поставете следващия, след което създайте тестови индексен файл.В редактора на html запазете и излезте, като натиснете Control+O и след това Cotrol+X.

Създаване на уеб директория

създаване на блокова услуга

Файлът с блоковете на сървъра Nginx се съхранява вътрешно, тогава поставете тази конфигурация там и заменете "xxxx" със собствения си IPv4 или IPv6 адрес. Запазете и излезте от редактора, като натиснете Control+O и след това Control+X. След това следва подобен процес за другия сайт.

Създаване на блокова услуга

След това можете да активирате всеки блок в. От съображения за сигурност редактирайте nginx.conf и активирайте: "Name Hash Size", премахнете символа за коментар (#). Натиснете Control+O, за да запишете, и Control+X, за да излезете от редактора. Сега тествайте конфигурацията и потвърдете с Ok.

И накрая, презаредете или рестартирайте услугата, за да рестартирате. След това конфигурирайте данните за DNS домейна или редактирайте файла на локалния хост на компютъра, за да тествате пакета. Стартирайте уеб браузър и се опитайте да осъществите достъп до VPS чрез името на домейна.

Хост HTTP сървър

Хостинг на HTTP сървър

HTTP сървърът Nginx (Engine-X) е най-популярният от използваните в мрежата аналози. Той е лек, стабилен, готов за използване и може да се използва от всеки за изграждане на мощни и динамични уебсайтове. Той може да служи и като прокси сървър, което го прави чудесен избор за защита на натоварени и популярни уебсайтове.

Инсталиране на HTTP сървъра Nginx:

  1. Инсталиране на сървър. Пакетите могат да бъдат получени от хранилището за софтуер на Ubuntu, всички, какво е необходимо е да стартирате командата apt.
  2. След като сървърът е инсталиран, настройте защитна стена, за да разрешите HTTP трафика. По подразбиране защитната стена на Ubuntu не е активирана. В някои случаи тя се активира автоматично от съображения за сигурност.
  3. Ако защитната стена е активирана, горните команди от един ред трябва да разрешат HTTP трафика както на порт 80, така и на порт 443. Ако проверите състоянието на защитната стена, можете да видите, че HTTP Full е разрешен отвсякъде, включително трафикът v6.
  4. Осъществете достъп до страницата на уебсайта на Nginx по подразбиране или отидете на IP адреса на сървъра или хоста.
  5. При инсталирането на HTTP сървъра Nginx ще бъдат създадени допълнителни папки. Те съдържат конфигурационните файлове, настройките и другите директории, споменати по-горе, като те са най-използваните на сървъра.

Използване на обратен прокси сървър

Използване на обратен прокси сървър

Обратният прокси сървър е сървър, който се намира между вътрешните приложения и външните клиенти, като пренасочва клиентските заявки. Въпреки че много от разпространените приложения, като Node.js, могат да работят като самостоятелни сървъри, NGINX има редица усъвършенствани функции за балансиране на натоварването, сигурност и ускорение, които не присъстват в повечето специализирани софтуери. Използването на NGINX като обратен прокси сървър ви позволява да добавите тези функции към всяко приложение.

За тази цел се използва обикновен възел.js, за да демонстрира, как да настроите NGINX като обратен прокси сървър.

Настройка на прокси сървъра:

  1. Тези стъпки инсталират Mainline в Ubuntu от официалното хранилище на NGINX Inc. За други дистрибуции ще трябва да се консултирате с ръководството на администратора за информация относно конфигурирането за производствени среди.
  2. Отворете /etc/apt/sources.Използвайте текстов редактор и добавете следния ред в долната част.
  3. Заменете кодовото име в този пример с кодовото име на инсталираната версия.Например, за Ubuntu Nginx php fpm с името Bionic Beaver.
  4. Импортирайте ключа за подписване на пакета на хранилището и го добавете към apt.
  5. Уверете се, че сървърът е пуснат в действие и че ще бъде пуснат в действие автоматично при рестартиране.

Пример за приложение

Пример за приложение

Използвайте curl, за да заредите инсталационния скрипт, предоставен от NodeSource. Заменете версията на възела в командата curl с тази, която искате да хоствате.

Изпълнете скрипта:

  1. Скриптът apt-get update ще се стартира автоматично, така че можете да инсталирате Node.js .
  2. Пакетният мениджър на възел (NPM) ще бъде разопакован с възела.js.
  3. Създаване на директорията на приложението.
  4. Иницииране на приложението Node.js в директорията.
  5. Приемете всички стойности по подразбиране, когато бъдете подканени.
  6. Инсталиране на Express.js: npm install --save express.
  7. Използвайте текстов редактор, за да създадете и добавите следното съдържание: app.js.
  8. Стартиране на приложението.
  9. В отделен терминален прозорец използвайте curl, за да се уверите, че софтуерът работи.

Създаване на възел.js

В този момент може да се конфигурира възелът.js, така че да служи като примерно приложение на публичен IP адрес на Linode, което позволява да бъде изложено в интернет. Вместо това в раздела се изпълнява php инсталацията на Ubuntu Nginx, която препраща всички заявки от публичния IP към сървъра, слушащ localhost.

Основна конфигурация за NGINX с обратен прокси сървър: създаване на файл, заместване в този пример.com, софтуерен домейн или публичен IP адрес.

Стартира приложението

Директивата proxy_pass е конфигурацията на обратния прокси сървър. Това указва, че всички заявки, които съответстват на блока за местоположение, в този случай пътя към корена, трябва да бъдат пренасочени към порт 3000 на localhost с възел, в който е стартиран.js.

Процедура за настройка:

  1. Деактивирайте или премахнете страницата по подразбиране Welcome to NGINX:sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.изключени.
  2. Проверете конфигурацията: sudo nginx -t.
  3. Ако не са отчетени грешки, презаредете нов:sudo nginx -s reload.
  4. Браузърът отива на публичния IP адрес на Linode, появява се съобщението Hello World!

Разширени настройки: Постоянна връзка

Незадължителни параметри: Постоянна връзка

За едно просто приложение proxy_pass директивата е достатъчна. При по-сложните обаче може да са необходими допълнителни параметри. Например, Node.js често се използва за случаи, които изискват много взаимодействие в реално време. За да регулирате, деактивирайте функцията за буфериране на Nginx Ubuntu ssl. Можете да променяте или добавяте хедъри, които се препращат заедно с прокси заявките proxy_set_header. Тази конфигурация използва вградената променлива $remote_addr, за да изпрати IP адреса на клиента източник към хоста на проксито.

Едно от предимствата на обратния прокси сървър е лесното конфигуриране на HTTPS с TLS сертификат. Certbot е инструмент за бързо получаване на безплатни сертификати от Let`s Encrypt. Можете да използвате Certbot в Ubuntu 16.04, официалният уебсайт съдържа подробни инструкции за инсталирането и използването на основните дистрибуции. След като получите сертификати чрез Certbot, той автоматично ще актуализира файловете, за да използват новия сертификат.

Certbot ще поиска информация за сайта. Отговорите ще бъдат записани като част от сертификата.

Конфигурация на Node.js

Certbot също така ще попита дали HTTP трафикът трябва да бъде автоматично пренасочен към HTTPS. Препоръчително е да изберете тази опция. След като инструментът завърши, Certbot съхранява генерираните ключове и издадените сертификати в директорията /etc/letsencrypt/live/$domain, където $domain е името на домейна, което сте въвели в стъпката за генериране на сертификат на Certbot.

Certbot препоръчва да посочите конфигурацията на уеб сървъра в директорията за сертификати по подразбиране или да създадете символични връзки. Ключовете и сертификатите не трябва да се преместват в друга директория. Накрая Certbot ще актуализира сървъра, за да използва новия сертификат, и също така ще пренасочи HTTP трафика към HTTPS, ако е избрана тази опция.

Ако в Linode е конфигурирана защитна стена, може да се добави правило, което да разрешава входящи и изходящи връзки към услугата HTTPS. В Ubuntu UFW е широко използван и прост инструмент за управление на правилата на защитната стена.

HTTP сървър от страна на сървъра

Едно от изискванията за реализиране на приложение или уебсайт е от страна на сървъра да има уеб или HTTP сървър, който извършва обработката на. Последният установява двупосочни или еднопосочни връзки с клиента и генерира отговор на заявките, направени. Затова тя е неразделна част от уеб инфраструктурата.

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

Статии по темата