muzruno.com

Nginx: настройка и инсталиране

Какво е apache, nginx? Целта, функциите, опциите на настройките са неща, които всеки уеб разработчик трябва да познава, за да тества техните постижения.

За nginx

nginx настройкаТози инструмент има един основен и няколко работни потока. Първата е четенето и тестването на конфигурацията. Управлението на работните процеси също е под негов контрол. Задачата на последната е да обработва входящите заявки. Nginx използва модел, който се основава на събития. Също така, механизмите, които зависят от операционната система, се използват за ефективно разпределение на заявките директно между работните процеси. Техният номер винаги е посочен в конфигурационния файл. Стойността може да бъде фиксирана или зададена автоматично, на базата на броя на процесорите, с които можете да работите. В nginx системата и модулите се конфигурират чрез конфигурационния файл. Ето защо, ако е необходимо да промените нещо, то е необходимо да го търсите. Обикновено тя е в директивата / etc / rginx (но пътят може да се промени, когато се използват други системи) и има разширение .conf.

Стартиране, рестартиране и регистрации

инсталиране и конфигуриране на nginxЗа да направите това, трябва да накарате изпълнимия файл да работи. Nginx сървърът може да бъде конфигуриран само когато е стартиран. Контролът се изпълнява чрез извикване на изпълнимия файл с опцията -s. За целта използвайте следния запис:

nginx-s сигнал

В този случай можете да замените такива команди (трябва да дойдат от потребителя, който е стартирал инструмента):

  1. Стоп. Използва се за бързо изключване.
  2. Презареждане. Командата трябва да презареди конфигурационния файл. Въпросът е, че всички промени няма да бъдат приложени, докато файлът работи. И за да влязат в сила, е необходимо рестартиране. Веднага след като този сигнал бъде приет, главният процес ще започне да проверява правилността на синтактичния компонент на конфигурационния файл и ще се опита да приложи инструкциите, които са на разположение там. Ако тя не успее, тя ще върне промените и ще работи със старите настройки. Ако всичко се е случило успешно, ще започнат нови работни процеси, а старата ще бъде изпратена заявка за завършване.
  3. Quit. Приложимо за гладко изключване. Приложимо, ако трябва да изчакате, докато текущите заявки бъдат завършени.
  4. Отворете отново. Затворете и отворете регистрационните файлове.

Използване на помощни програми

Процесите могат също така да бъдат конфигурирани чрез използване на Unix инструменти (например, полезността kill се разглежда). Обикновено те използват механизма за изпращане на сигнала директно с данните. Те са свързани чрез ИД. Тези данни се съхраняват в файла nginx.pid. Да приемем, че се интересуваме от процес номер 134. След това за гладко прекратяване трябва да изпратим следната информация:

kill -s QUIT 1628

Да приемем, че искаме да видим списък с всички текущи файлове. Използваме помощната програма ps за това. Командата ще изглежда така:

ps -ax | grep nginx

Това е, както можете да видите, с използването на допълнителни инструменти, се посочва, че то е неговото приложение. И сега нека да се съсредоточим върху това как се прави nginx-tuning.

Структура на конфигурационния файл

Конфигуриране на nginx сървъраИнсталация и конфигурация nginx осигурява работа с модули. Те са конфигурирани чрез директиви, които са посочени в конфигурационния файл. Те са прости и блокирани. Първият тип директиви се състои от име и параметри, които са разделени с интервали, а техният край е означен с точка и запетая - (-). Блокът има подобна структура. Но в тази директива, вместо края, се поставя набор от допълнителни инструкции, които се поставят в скоби ({instructions}). Ако имената и параметрите на други процеси могат да бъдат поставени в тях, тогава такива конструкции вече се наричат ​​контекст. Пример за това е http, местоположение и сървър.

Разпределение на статичното съдържание

Това е една от най-важните задачи, които се сблъскват с nginx конфигурация. Разпространението на статистическо съдържание предполага изображения и HTML страници (не динамични). Да приемем, че се нуждаем от еднократна работа, за да конфигурираме nix nginx клъстер. Трудно ли е да направите това? Не, и да разгледаме един пример. Преди да продължите с това, е необходимо да се запознаете подробно с условията на проблема. Така че, в зависимост от исканията, файловете ще идват от различни местни директории. Така че в / data / www имаме HTML документи. А директорията / data / images съдържа изображения. Оптималната конфигурация nginx в този случай изисква редактиране на конфигурационния файл, в който трябва да конфигурирате сървърния блок в http. За поддръжка ще се използват и две местоположения.

Внедряване: сървър

еднократна работа по настройването на клъстер nix nginxЗатова първо трябва да създадем директории и да поставим файловете с необходимите разширения (в html трябва да добавите съдържание). След това отворете конфигурационния файл. В него по подразбиране вече има няколко сървърни блока, които в масата се коментират. За да се постигне оптимален резултат, този процес трябва да се извърши по подразбиране по отношение на всички компоненти. След това добавете нов сървър блок с този код:

http {

сървър {

}

}

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

Изпълнение: местоположение

Apache nginx има опции за персонализиранеТя се дефинира вътре в сървъра:

местоположение / {

корен / данни / www;

}

Наличието на знак "/" е необходимо, за да се сравнят получените данни и да се види дали има такъв адрес от обработваната заявка тук. Ако няма проблеми, укажете пътя / данните / www до желания файл, който е в тази локална система. Ако мачът е с няколко блока, тогава е избран този с най-дългия префикс. В горния пример нейната дължина е равна на една, т.е. използването ще бъде само ако няма "конкуренти". Сега нека я подобрим:

местоположение / images / {

корен / данни;

}

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

сървър {

местоположение / {

корен / данни / www;

}

местоположение / images / {

корен / данни;

}



}

Това е работната версия, която се случва стандартно номер на порт 80. Този сървър може лесно да бъде достъпен на локалния компютър, ако отидете на: http: // localhost /. Как всичко това работи?

Функционирането на примера

Конфигуриране на nginx на локалния компютърТака че, когато исканията идват, които започват с / images, тогава сървърните файлове от съответната директория ще бъдат изпратени на потребителя. В негово отсъствие ще бъде дадена информация, показваща грешката 404. Ако се извършва конфигурация Nginx на локалния компютър, а след това HTTP заявката: //localhost/images/example.jpg ние ще се файл, чието местоположение /data/images/example.jpg. Ако посочите един "/" символ, търсенето ще се извърши в директорията / data / Но току-що сменихме конфигурацията. За да започнете работа, трябва да се рестартира. За тази цел използвайте командата nginx -s reload. В случай, че нормалната работа не е възможно, в access.log и error.log файлове, намиращи се в директивата / ЮЕсАр / местни / rginx / трупите, можете да потърсите причината за повредата.

Създаване на прост прокси сървър

оптимизирана конфигурация nginxМоже да се каже за nginx - задаването на този обект е едно от честите приложения (и доста лесно, между другото). Тук се използва принципът на сървъра, който приема искането, след което го пренасочва към необходимите сайтове. След това се очаква отговор от тях, който ги насочва към този, който зададе задачата. Затова нека разгледаме примера за създаване на базова точка. Тя ще се справи с исканията на потребителите и ще им осигури изображения от локалната директория. Така че към блока http се добавя още един сървър със следното съдържание:

сървър {

слушайте 8080;

корен / данни / up1;

местоположение / {

}

}

И сега нека дешифрираме за вас: създава се прост сървър. Той ще слуша порт 8080. Не определяйте слушането, тогава сървърът ще работи на 80-о място. Всички заявки в локалната файлова система, които са насочени към директорията / data / up1, ще бъдат показани (разбира се, тя трябва да бъде създадена преди това). За да можете да проверите там, трябва да поставите index.html файла. Чрез поставянето на коренната директория в контекста на сървъра, можем да използваме мястото при всякакви условия (тъй като по този начин ограниченията за достъп се премахват). Сега работим върху създаването на прокси сървър. За да може да работи, ние трябва proxy_pass директива, за която ще бъдат уточнени име протокол, и в пристанищното съоръжение като параметри (за локална връзка тя ще изглежда като HTTP: // Localhost: 8080). Резултатът е следният:

сървър {

местоположение / {

proxy_pass http: // localhost: 8080;

}

местоположение / images / {

корен / данни;

}

}

Ако преглеждате кода и го анализирате, може да забележите, че вторият блок за местоположението е променен. Така че, в този случай, той може да работи с типични разширения на изображения. По малко по-различен начин може да се покаже по следния начин:

локация ~ (gif | jpg | png) $ {

корен / данни / изображения;

}

Крайната конфигурация на прокси сървъра е, както следва:

сървър {

местоположение / {

proxy_pass http: // localhost: 8080 /;

}

локация ~ (gif | jpg | png) $ {

корен / данни / изображения;

}

}

Той ще филтрира заявки, в края на които има определени разширения, и ще ги изпрати на този, който е поискал файловете. Не забравяйте, че ако искате да проверите конфигурационния файл, ще трябва да рестартирате. И повярвайте ми, това е най-простото nginx-tuning. Ако отворите конфигурационния файл на Vkontakte сървъра или друга голяма компания, те ще имат повече код от думите в тази статия.

Споделяне в социалните мрежи:

сроден