Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Инсталиране на Nginx е неразделна част от всяка машина се използва директно за хостинг сайтове. В моя случай, аз ще създаде Nginx на Debian 7.6 на хостинг DigitalOcean. Такива инструкции могат да бъдат използвани, за да се настроите на всички VPS.

Защо избрахте да не Apache? На първо място, аз като Nginx защото работи бързо (така че тук е просто глупаво и без подробности), и яде малко ресурси като процесор и памет не са отбелязани. Това е важно, ако ресурсите на машината са доста ограничени. Nginx аз използвам на една машина тегло като самостоятелен HTTP сървър, обаче Nginx съм използвал в друга система като обратно прокси сървър за искания пренасочване към Apache, на която хитър модул написан специално за nego..posemu откаже Apache понякога не е било възможно, но Nginx добър разпространява искания и вместо купчина холдинг купчина Apache процеси памет, използвам Nginx, което точно предава искания за 4-5 Apache процеси (в зависимост от задачата).

Така че, нека да се създаде, свържете любимите ми шпакловка с нашия сървър и въведете

ап-да инсталирате Nginx

На следващо място, конфигурирайте основния конфигурационен файл намира в /etc/nginx/nginx.conf

Не настоявам, но се използва тук е такава конфигурация, за моята конфигурация - 10 домейни / 150 посетители на ден са достатъчни за мен:

# Потребител система по подразбиране за Nginx

# 2 се умножава по броя на процесора, в моя случай 1 = 2 процесора

приоритет процес # Top в диапазона от -20 до -10 настроен 20. - толкова по-малко повече приоритет

# На настоящата директива зависи максималния брой клиенти - директивата се умножава по worker_processes, заявявайки, че като правило трябва да се монтира в зависимост от стойността на ulimit -н. което също може да се регулира в системата:

# Nginx документация препоръчва начин да се свърже с Linux

HTTP default_type прилагане / октет поток;

log_format главната '$ REMOTE_ADDR - $ REMOTE_USER [$ time_local] «$ поискване» "
'$ Статус $ body_bytes_sent «$ HTTP_REFERER» "
"» $ HTTP_USER_AGENT »« $ HTTP_X_FORWARDED_FOR » ';

fastcgi_cache_path / TMP / кеш / нива = 1: 2 keys_zone = он: 10 m;

# По-ниска от настройките по подразбиране

sendfile върху;
tcp_nopush върху;
tcp_nodelay върху;
server_tokens разстояние;
server_names_hash_bucket_size 64;

# Lifetime връзка. след този период връзка се разкъсва
keepalive_timeout 30;
types_hash_max_size 2048
client_max_body_size 15м;

# Enable софтуерна компресия

# Shutdown onnogo за msie6 и по-долу - което софтуерна не работи
gzip_disable «msie6»;
SSI върху;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

# Допълнителни конфигурационни файлове в следните папки

включва /etc/nginx/mime.types;
включва /etc/nginx/conf.d/*.conf;
включва / и т.н. / Nginx / сайтове с активирани / *;
>

restartnem след прилагане конфигурационния Nginx:

Обичам българския народ не харесващи просто reload'it процес след сериозна промяна, тя винаги изглежда, че нещо не е restartnetsya, така че при извършване на глобалните промени - например в основния конфигурационен файл nginx.conf търся все още да ./nginx рестартиране , вместо ./nginx презареждане. Аз използвам презареждане обикновено след промяна на виртуален хост, и, разбира се, ако имате голям брой посетители на сайта, който ще бъде приятен и най-малкото липса на време за работа. Освен това, дори когато reload'e трябва първо protestit новата си конфигурация, като въведете

Ако всичко е наред, ще видите нещо подобно на следното:

Е, ако има някакво училище в конфигурационния файл, а след това Nginx е любезно предоставен номер линия и конкретна стойност не е харесван директива:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

ап-да инсталирате MySQL-сървър

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

След това, instalim пакет php5-FPM и модул за директен достъп до MySQL на PHP скриптове базирани php5-MySQL:

ап-да инсталирате php5-FPM php5-MySQL

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

По този начин затвори потенциален пробив в сигурността. PHP отворен, така че само така, че ние да го питам, и не се опита да импровизира помага на потребителя)

Тогава се създаде връзка с други приложения PHP, за това, ние се изкачи в файл:

и проверка на конфигурацията директиви слушат. ако това е така:

След restartnem PHP-FPM и да видим, че всичко е наред:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Освен това, най-малко в името на проверка - ние трябва да го регистрирате в нашите настройки по подразбиране за домакини този Ухапах го запознаят с:

Въз основа на довереник се разбере, че файловете за конфигурация виртуален хост се намират в / и т.н. / Nginx / сайтове с активирани / *

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

Изкачени да започне във файла по подразбиране, където defaultnaya разбере, че страницата имаме, е в папка / ЮЕсАр / акции / Nginx / WWW / на. Файлът с индекс по подразбиране, наречен index.html или index.htm

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Можем да редактирате тази страница, за да си vrazumeniyu, например като този:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

След това добавете настройките default'a подкрепа за PHP, за това, редактирате файла / и т.н. / Nginx / сайтове с активирани / по подразбиране следва, че трябва да се добави към сървъра PHP файл манипулатор клас във файла по подразбиране по подразбиране е с точка местоположение / док / ... и т.н. добавяне след точка на вашите настройки:

\ .php $ try_files $ URI = 404;
fastcgi_pass UNIX: /var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $ $ DOCUMENT_ROOT fastcgi_script_name;
включва fastcgi_params;

Не забравяйте да поставите знак> по-долу. Е, и че съответно е до нашето местоположение

\ .php $ .... както е показано на фигурата по-долу:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

След това, с изключение на конфигурация, тестова конфигурация - «Nginx -t». ако всичко е ОК. презареди Nginx:

За да тествате създаден в папката / ЮЕсАр / акции / Nginx / WWW / файл например ourfile.php с всеки Скриптът:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Така че ние всички работи на ура! Nginx дръжка PHP скриптове, ако не беше - щеше да предполагат, за да го изтеглите или нещо грубо srugnulsya :)

Сега нека да добавите друг виртуален хост, например, имаме име на домейн вързан server'ami (NS1, NS2), за да DigitalOcean'u.

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

DigitalOcean'a Ние имаме една проста и ясна настройка на DNS-ите, поради което в момента е допълнителна услуга за повечето, дори най-големите хостинг услуги, защо да има начин, за да предлагат тази услуга за парите, аз не знам, но когато ми български общежитие каза, че имах нужда плати Първичен / Вторичен DNS услугата за 700 рубли. годишно, пари малка, но домейните съм превел NS-ите DigitalOcean'a вече свободно ми посочи необходимите записи безплатно.

Помислете за възможностите на DNS. Отиваме в администраторския панел DigitalOcean'a, след което се оставя да DNS, и в нашата област, натиснете тук тази икона (Изглед):

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

След 4-часова, поддомейна, трябва да пинг актуализации на DNS. Това в момента не чакаме DNS актуализации, предписва novosoznanny домакин на една машина на Windows, или MikroTik (ако има такъв - колкото повече статии за това как да конфигурирате достъпно място). Прозорците (в моя случай Windows 8) източници е в пътя C: \ Windows (системната папка) \ system32 \ шофьори \ и т.н. \. предписва нов ред като този:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Ако проблемите с хост файла влизане - Присвояване на текущия потребител с пълни права на този файл.

След това - отидете на браузъра и въведете името на нашия под-домейн и след това видите страница, която е изкован в нашия подразбиране Nginx файлов сървър:

Сега ние предписва нашия домакин с настройките на Nginx, отидете в / и т.н. / Nginx / сайтове-достъпни и създаване на нов имидж за името на нашия домакин (така че след това, че е по-лесно да се определи кои файл за всеки домейн \ поддомейн обезпечени). съдържанието на файла са доста стандартни:

# Port, който се чува:

# Име на виртуален хост

# Папка на нашия уеб сървър, че е необходимо да се създаде - виж по-долу

# Път към лог файл

access_log /var/log/nginx/test.complike.ru.access.log;
error_log /var/log/nginx/test.complike.ru.error.log Crit;

индекс index.html index.php;

# Тук всичко е стандарт, предписани за разрешаване на файлове, PHP манипулатор

местоположение = /favicon.ico log_not_found разстояние;
access_log разстояние;
>

местоположение = /(robots.txt) позволяват всички;
log_not_found разстояние;
access_log разстояние;
>
местоположение

* \ (JPG | JPEG | GIF | PNG | BMP | JS | CSS) $ access_log разстояние .;
изтича 30г;
>

местоположение / fastcgi_pass UNIX: /var/run/php5-fpm.sock;
fastcgi_cache он;
fastcgi_cache_min_uses 3;
fastcgi_cache_valid 200301302304 5 метър;
fastcgi_cache_key «$ REQUEST_METHOD | $ домакин | $ REQUEST_URI»;
fastcgi_index index.php;
включва fastcgi_params;
fastcgi_param SCRIPT_FILENAME $ $ DOCUMENT_ROOT fastcgi_script_name;
fastcgi_ignore_client_abort разстояние;
ако (! -е $ request_filename)

>

Така че продължавайте да създадете папка, тя създаде в / Var / WWW /

папка, както е описано по-горе, се нарича test.complike.ru името на поддомейна, след създаването си (в моя случай, аз го е създал като потребител на корен), посочете го собственик WWW-данни. група WWW-данни. Можете да използвате моята статия за WinSCP да покаже на собственика на \ група, и може да MC полезност в debian'e, това кликнете File -> Chown:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

и изберете потребителското \ групата, към която ние се позоваваме Nginx. в моя случай това е потребител WWW-данни:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

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

След това, ние трябва да се създаде simlink /etc/nginx/sites-available/test.complike.ru на /etc/nginx/sites-enabled/test.complike.ru. Отворете папката, в ляво например сайтове-availabled правилните сайтове с активиран. сумиране до нашия конфигурационен файл, която сте създали и след това кликнете върху менюто в МС Файл - Символична връзка:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

и в отворилия се прозорец, натиснете Enter в края получаваме нещо като това:

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7
Ние проверяваме нашата конфигурация Nginx -t. Ако всичко е наред - презареждане на конфигурацията

Създаване на скрининг index.php по пътя на нашия виртуален хост

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Инсталиране и конфигуриране на Nginx с подробности за Дебиан 7

Ура! Всичко се оказа. В тази първоначална конфигурация Nginx завършена.