-
Notifications
You must be signed in to change notification settings - Fork 3
(debian) Установка и настройка php fpm
Max Kalyabin edited this page Dec 3, 2015
·
1 revision
1. Установить php5-fpm
apt-get install php5-fpm
2. Создать необходимые папки
mkdir -p /var/www/<domain>/htdocs
mkdir -p /var/www/logs/php
mkdir -p /var/www/mod-tmp
chown -R www-data:www-data /var/www/
3. Создать пул для пользователя www-data
В файл /etc/php5/fpm/pool.d/www.conf
поместить содержимое:
[www-data]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.backlog = 4096 # на форумах пишут, что это значение помогает избежать проблемы с падением fpm. Реально будет использовано значение, равное net.core.somaxconn
listen.mode = 0660
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
;pm.max_requests = 500 # использовать только при необходимости
request_terminate_timeout = <установить такое же значение, как и max_execution_time в php.ini>
access.log = /var/www/logs/php/$pool.access.log
#php settings
php_admin_value[error_log] = /var/www/logs/php/www-data.error.log
php_admin_value[upload_tmp_dir] = /var/www/mod-tmp
php_admin_value[mbstring.internal_encoding] = "UTF-8"
php_admin_value[post_max_size] = 256M
php_admin_value[upload_max_filesize] = 256M
php_admin_value[session.name] = <любая уникальная последовательность цифр и букв, начинаться должно только с буквы>
4. Перезапустить php5-fpm
service php5-fpm restart
5. Ротация логов
В файл /etc/logrotate.d/php5-fpm
поместить содержимое:
/var/log/php5-fpm.log /var/www/logs/php/*.log {
rotate 10
daily
compress
delaycompress
notifempty
minsize 300k
missingok
sharedscripts
postrotate
[ -s /var/run/php5-fpm.pid ] && kill -USR1 `cat /var/run/php5-fpm.pid`
endscript
}
Если после всего вышеперечисленного браузер показывает пустую страницу без записей в лог - добавить в /etc/nginx/fastcgi_params
строки:
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;