Официален Ръководство за начинаещи от Nginx

Това ръководство rassmatirovayutsya теми:

  • Старт, стоп, презареждане на конфигурацията
  • Структурата на конфигурационния файл
  • Разпределението на статично съдържание
  • Създаване на прост прокси сървър
  • Конфигуриране на FastCGI на прокси сървър

Това ръководство е дадена встъпителен курс Nginx и описва някои прости проблеми, които могат да бъдат решени с негова помощ. Предполага се, че Nginx вече е инсталиран на компютъра на читателя. Ако не, вижте. Инсталиране на Nginx могат. Това ръководство описва как да се пуска и спира Nginx и презареждане на конфигурацията му, обяснява как конфигурационния файл, и описва как да конфигурирате Nginx да разпределя статично съдържание, как да се създаде прокси сървър за Nginx и Nginx като асоцииран с приложението FastCGI.

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

Как Nginx и неговите модули, се определя в конфигурационния файл. По подразбиране, конфигурационния файл се нарича nginx.conf и се намира в директорията / ЮЕсАр / местни / Nginx / CONF. / И т.н. / Nginx или / ЮЕсАр / местни / и т.н. / Nginx.

Старт, стоп, презареждане на конфигурацията

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

Когато сигналът може да бъде едно от следните неща:

  • спрете - бързото завършване на
  • откажат - плавно завършване
  • презареди - презареждане конфигурационен файл
  • възобнови - възобновяване регистрационните файлове

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

Command трябва да се извършва от едно и също лице, което е било започнато под Nginx.

Промените, направени в конфигурационния файл, няма да влязат в сила до команда за рестартиране на конфигурацията е ръчно изпратен nginx'u или тя ще бъде рестартиран. За да се презареди конфигурацията, стартирайте:

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

Nginx изпраща сигнали до методи могат да Unix инструменти, като полезност убие. В този случай, сигналът се изпраща директно на този процес ID. Основният процес Nginx ID се записва по подразбиране в nginx.pid файл в директорията / ЮЕсАр / местни / Nginx / трупи и / Var / пробег. Например, ако основният процес ID е 1628, за да изпратите QUIT сигнал, който да доведе до плавно Nginx завършване, за да изпълни:

убие -s QUIT 1628

PS -ax | Впиши Nginx

За повече информация относно изпращането на Nginx обработва сигналите могат да бъдат намерени в Управителния Nginx.

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

Nginx се състои от модули, които са конфигурирани директиви, посочени в конфигурационния файл. Директива са разделени на прости и модулни. Обикновено директива се състои от име и параметри, разделени с интервали, и завършва с запетая (;). директива Блок подредени по същия начин, като проста инструкция, но вместо точка и запетая след името и параметрите, които да бъдат определени допълнителни инструкции, поставени вътре в скобите ( <и> ). Ако блокирате директиви вътре в скобите могат да поискат други директиви, тя се нарича контекст (примери: събития HTTP сървър и място ..).

Директиви, настанени в конфигурационния файл извън всякакъв контекст, се разглеждат в контекста на основните. Директива HTTP събития и се намират в контекста на основните. сървър - в HTTP. а мястото - в сървъра.

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

Един от най-важните задачи за конфигурация Nginx - разпределението на файловете, като например снимки или статични HTML-страници. Помислете за един пример, в който, в зависимост от искането файлове се разпространяват от различни местни папки: / данни / WWW. който съдържа HTML-файлове и / данни / изображения. съдържаща файлове с изображения. За да направите това, трябва да редактирате конфигурационния файл и да конфигурирате сървъра единица в рамките на HTTP блок с два местоположение блокове.

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

Сървърът на блок, добавете местоположение блок на следния вид:

Този блок определя местоположението "/" като префикс, който се сравнява с URI от искането. Подходящ за добавяне на искания URI на пътя, посочен в директивата за корен. т.е., в този случай, в / данни / WWW. Той получава по пътя към искания файл в локалната файлова система. Ако има съвпадение с редица местоположение единици. Nginx избира блока с най-дългата префикс. Мястото над блока Определете най-краткия префикс дължината на един, и така това устройство ще бъде използван само ако има съвпадение с някоя от другите местоположение единици.

След това добавете второ място единица.

Той ще даде един мач с искания, започващи с / изображения / (местоположение / подходящ и за тях, но по-кратък от определения префикс в него).

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

За да се приложи новата конфигурация, стартирайте Nginx, ако тя не работи, или да изпрати сигнал, за да презаредите основния процес Nginx като направите:

Ако нещо не работи както се очаква, можете да опитате да се намери причината с помощта access.log и error.log файлове от директорията / ЮЕсАр / местни / Nginx / трупи и / Var / дневник / Nginx.

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

Един от най-честите използва Nginx е да го използвате като прокси сървър, т.е. сървър, който получава искания, като ги изпраща на прокси сървъра, получи отговор от тях и да ги изпраща на клиента.

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

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

Това ще бъде един прост сървъра слуша на порт 8080 (по-рано слушате директива не се споменава, тъй като се използва стандартен порт 80) и показване на всички заявки за директорията / данни / ир1 локалната файлова система. Създаване тази директория и да го файла index.html. Имайте предвид, че директивата за корен се поставя в контекста на сървъра. корен Тази директива ще се използва, когато директивата за местоположение. избран да изпълни това искане, той не съдържа свой собствен корен директива.

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

Параметърът е регулярен израз, който съвпада с всички URI, която приключва в .gif. JPG или .png. Регулярните изрази трябва да бъдат предшествани от

Съответните искания ще бъдат показани в директорията / данни / изображения.

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

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

Този сървър ще филтрира заявките, завършващи с .gif. JPG или .png. и ги покажете на директорията / данни / изображения (URI добавяне към насоките на корен на параметрите) и изпраща на всички останали искания прокси сървър, конфигурирани по-горе.

За да се приложи новата конфигурация, изпрати сигнал, за да презаредите nginx'u, както е описано в предишните части.

Има много други директиви, които да персонализирате допълнително прокси връзки.

Конфигуриране на FastCGI на прокси сървър

Nginx може да се използва за пренасочване на заявки до FastCGI-сървъра. Те могат да стартирате приложението, като използвате различни програмни езици и рамки, например, PHP.

fastcgi_param SCRIPT_FILENAME $ $ DOCUMENT_ROOT fastcgi_script_name;

fastcgi_param QUERY_STRING $ QUERY_STRING;