Ман по настройке серва. nginx+php-fpm+mysql, собираю все в кучку

Ну, как все ставить рассказывать себе не надо, поэтому сразу к настроечке.

Начну с mysql

Итак, для начала надо увеличить кеш для mysql, иначе он будет часто вылетать с cant-connect с 11 ошибкой, что означает невозможность блокировки сокета:

my.cnf

skip-locking
wait_timeout=60
connect_timeout=10
interactive_timeout=120
join_buffer_size=1M
query_cache_size=128M
query_cache_limit=2M
max_allowed_packet=16M
table_cache=1024
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=4M
key_buffer = 256M
key_buffer_size=64M
myisam_sort_buffer_size = 8M
max_connections = 10000
open_files_limit = 100000
thread_cache_size = 1024M

Также в мускуле желательно выполнить sql-запрос:

set global max_connections = 500;

Дальше, чтобы при добуя открытых файлах ничего не зависало, ожидая, пока дадут доступ на юзанье тех или и иных файлов:

/etc/security/limits.conf

*       soft    nofile  65525
* hard nofile 100000

Дальше, надо в целом увеличить лимиты в системе:

/etc/sysctl.conf (взял у лисяры, помогло :))

kern.ipc.nmbclusters=65536
kern.ipc.somaxconn=32768
kern.ipc.maxsockets=204800
kern.maxfiles=256000
kern.maxfilesperproc=230400

Дальше лезем в конфиг nginx:
worker_processes  8;
worker_rlimit_nofile 51200;
worker_priority -5;
events {
worker_connections  4096;
use epoll;
}

Дальше лезем в конфиг php-fpm:

<value name="max_requests">4096</value>

<value name="max_children">100</value>

естесно это по секциям там..

Еще, надо не забыть проверить права на /var/lib/php/session

(C) ZonD80

Leave a Reply

Your email address will not be published. Required fields are marked *