Создаем файл /var/cpanel/easy/apache/rawopts/all_php5 и записываем туда слудеющие правила
--enable-fpm --without-apxs2 |
Далее пересобираем Apache с PHP 5.3.29 через /scripts/easyapache
После пересборки копируем
cp /home/cpeasyapache/src/php-5.3.29/sapi/fpm/php-fpm.conf /usr/etc/php-fpm.conf |
Далее в файле /usr/etc/php-fpm.conf розкоментируем строку
pid = run/php-fpm.pid |
и ставим что бы PHP-FPM работало через сокет а не по порту, так как через сокет он работает намного быстрее.
тоесть заменяем строку
listen = 127.0.0.1:9000 |
на
listen = '/var/run/php-fpm/php-fpm.sock' |
и создаем соответствующую директорию
mkdir /var/run/php-fpm |
Далее копируем бинарник PHP-FPM и ставим правильные права
cp /home/cpeasyapache/src/php-5.3.29/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod 755 /etc/init.d/php-fpm |
Если у Вас высоконагружаемый сервер, тогда Вам нужно также изменть следующие параметры в файле /usr/etc/php-fpm.conf
pm.max_children = 150 pm.start_servers = 25 pm.min_spare_servers = 5 pm.max_spare_servers = 50 |
Перезапускаем PHP-FPM
/etc/init.d/php-fpm restart |
Проверяем или работает
netstat -nlp |grep php-fpm |
Результат должен быть таковым
unix 2 [ ACC ] STREAM LISTENING 1782975 13558/php-fpm /var/run/php-fpm/php-fpm.sock
———————————————————-
Далее устанавливаем NGINX
cd /usr/local/src wget http://nginxcp.com/latest/nginxadmin.tar tar xf nginxadmin.tar cd publicnginx ./nginxinstaller install |
При установки Nginx может возникнуть ошибка что нет PyYAML, это пофиксить очень легко
Для х32
cd /usr/lib/python2.4/site-packages rm -f PyYAML-3.10-py2.4-linux-* wget http://nginxcp.com/scripts/PyYAML-3.09-py2.4-linux-i686.egg |
Для х64
cd /usr/lib/python2.4/site-packages rm -f PyYAML-3.10-py2.4-linux-* wget http://nginxcp.com/scripts/PyYAML-3.09-py2.4-linux-x86_64.egg |
Далее заменяем /scripts/createvhosts.py на этот
Не забываем поставти правильные права
chmod 755 /scripts/createvhosts.py |
и запускаем ребилд хостов для Nginx
/scripts/rebuildvhosts |
Для высоконагружаемых серверов в конец файла /etc/nginx/fastcgi_params нужно добавить эти правила
fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; |
Далее в файле /etc/nginx/nginx.conf
коментируем или удаляем строку proxy_temp_path /tmp/nginx_proxy/;
и перед строкой
# You can remove image/png image/x-icon image/gif image/jpeg if you have slow CPU
добавляем следующие правила
log_format cache '$remote_addr - $host [$time_local]' '"$request" $status $upstream_cache_status $body_bytes_sent' '"$http_referer" "$http_user_agent"'; fastcgi_cache_path /home/nginx/cache levels=1:2 keys_zone=one:100m inactive=4d max_size=5000m; fastcgi_temp_path /home/nginx/temp; |
Создаем папку /home/nginx и рестартуем nginx
mkdir /home/nginx /etc/init.d/nginx restart |
Далее останавливаем Apache (httpd) в WHM >> Service Configuration >> Service Manager
и через консоль
/etc/init.d/httpd stop /etc/init.d/nginx restart |
Теперь нужно выставить права 755 на папку /home и для каждого аккаунта
for i in `cat /etc/userdomains | grep -v nobody | awk '{print $2}' | sort -u` ; do chmod 755 /home/ ; chmod 755 /home/$i ; done |
Все, проверяем работу сайтов