Nginx конфигурация за тежко натоварване - Дневник на един луд, Linux apache nginx php5 конфигурация

Като се има предвид: сървър (VPS/VDS) и на неговите скромни ресурси трябва да стартираме уеб сървър. Този сървър ще бъде посещаван ежедневно от ботове за търсене и не-търсене \ хора \ и други обитатели на мрежата. Всеки ден броят на уникалните хостове ще расте, материалите в сайта ще растат и базата данни също ще расте. Така че, за да не уловите картината отгоре преди време, първоначално трябва да конфигурирате сървърния софтуер веднага! Не всички моменти и не всички програми могат да бъдат конфигурирани наведнъж, но трябва да се опитате да изчислите и коригирате всичко възможно най-много.

Първото нещо, към което клиентът се обръща (бот/жив човек на компютър и т.н.), е нашето ngnix\ apache (няма да разгледам опцията с предварителен лак и т.н.). Ще ви кажа няколко думи за настройка nginx-a.

Максимален брой връзки = worker_processes * worker_connections

В по-новите версии (1.8 и по-нови) работните_процеси трябва да бъдат настроени на автоматично

тъй като самият nginx ще определи колко ядра имате и колко процеса стартира.

worker_connections nginx е зададен от 1024 до 4096

използване по подразбиране nginx сам определя кой да се използва, за Linux ще бъде epool за FreeBSD това е kqueue.

multi_accept on е необходим само за Linux, така че всяка нова заявка да премине към следващия nginx процес. На FreeBSD kqueue прави това.

изпрати файл на; по-бърз и по-малко ресурсоемък процес на изпращане на файл до клиента.

tcp_nodelay включен;
tcp_nopush на; това също ще достави информация на клиента по-бързо

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

open_file_cache max = 400000 неактивен = 40s; задава максимално кешираните обекти и колко време да се запази кешът

open_file_cache_valid 40s; време на кеша, след последния достъп до него

open_file_cache_min_uses 2; натиснете обекта в кеша, ако е бил използван повече от два пъти.

Каналите не са гумени, ще използваме компресия:

gzip на; включете компресията
gzip_disable "msie6"; не включвайте, ако сте посетили сайта "шесто магаре"
gzip_types text/обикновен текст/css application/json application/x-javascript text/xml application/xml application/xml + rss text/javascript application/javascript; какви типове файлове ще компресираме

keepalive_timeout 30; след 30 секунди бездействие на клиента, затворете сесията с него и освободете паметта.

keepalive_requests 100; поддържаме максимум 100 връзки с клиента

reset_timedout_connection on; бори се с бавни клиенти

client_body_timeout 10; ако клиентът не отговори на сървъра в рамките на 10 секунди, връзката ще бъде прекъсната.

send_timeout 2; след 2 секунди сървърът ще нулира връзката с клиента, ако клиентът е прекъснал изтеглянето на данни

client_max_body_size 1м; само ако не е нужно да качвате нищо на сайта чрез браузъра, в противен случай поставете под вашите параметри

nginx -t - проверете конфигурационните файлове за грешки

nginx -s reload ще рестартира сървъра.

това трябва да бъде в конфигурацията и как трябва да бъде

включете в папката с описанието на хостовете и под кой потребител да работите, въведете го сами))