Правилната конфигурация Nginx
При спънат неудачи при конфигурирането и работата на уеб сървъра е много лесно. Но това е трудно да се разбере причината за неправилно или не винаги правилно / неправилно функциониране, ако всички правила са спазени.
местоположение Root в секцията
Няма нищо лошо в поставянето на кореновата директория, във вътрешността на място. Но ако мястото не съвпада, то тогава няма да имат достъп до основната директория. Правилно да направи това:
# Задава корен вътре раздела за сървъра
индекс Няколко директиви
Не е необходимо да се получи голям брой индекс директиви. Предписват го веднъж HTTP блок.
# Индексът ще бъде наследен автоматично във всички раздели
Използването ако
Вие знаете, че ако = зло. Ако използвате нужда да бъдете внимателни директива, лесно да се направи грешка. Така че доколкото е възможно, избягвайте да използвате, ако.
име на сървъра
Да предположим, че вашият сайт е на somesite.com домейн и пренасочване на потребителите към него, които отиват на www.somesite.com:
# Проверки и пренасочва приемащата
Ето няколко проблеми. Начало - ако. Независимо от искането за домакин (с или без WWW), Nginx все още проверява дали. За всяка заявка. Вместо това, можете да го направите:
# Използвайте $ схема, която е подходяща за HTTP и HTTPS
Проверка за файла
Не използвайте, ако за да проверите за файла:
# Подходът е поне толкова ефективен,
Вместо това там има Nginx try_files директива.
# Проверка на последователността за наличие на файла, ако няма, отидете на index.html
Трябва да се отбележи, че директивата може да се използва за защита на уеб сървъри от неоторизиран достъп.
исканията за трансфер в PHP
Ако Nginx пренасочва всички заявки, които завършват в .php. директно на PHP интерпретатора, за нарушителите са възможностите да се изпълняват произволен код. подразбиране PHP Най опитва да отгатне, където следва да извърши неправилна заявка. Така че първо трябва да се коригира php.ini. конкретизиране на:
# Interpreter ще обработва само валидни заявки
Обърнете внимание на правилната конфигурация на Nginx:
# настройки могат да бъдат комбинирани
Way FastCGI
Неправилно начини разположение скрипт FastCGI често води до грешка "Първичен скрипт неизвестен". който може лесно да бъде решен.
Rewrite (преобразуване)
Използвайте променлива $ REQUEST_URI да промени Заявка URI:
# Пренасочване към страницата 301
# Попълва автоматично запитване
прокси сървър
Не пренасочва всички заявки за PHP в тази форма:
# Предава всичко на phpcgi.socket
Използване на всички, че същата директива try_files.
# Изпраща само необходимите исканията до пълномощника
# Ако Nginx не може да обработи искането URI себе си, след това сложете указателя за наличие, а след това предава на пълномощника