Gentoo: Запуск двух версий PHP для использования в Nginx
Иногда нужно запустить 2 абсолютно разные версии PHP на одном сервере для поддержки старых скриптов.
Есть 2 варианта:
1. PHP-FPM
2. spawn-fcgi
ВАРИАНТ 1
ВАРИАНТ 2
1. Установите www-servers/spawn-fcgi
Убедитесь, что у вас в режиме fpm выбрана правильная версия PHP
4. Готовим конфиг php-7.0 для spawn-fcgi
Есть 2 варианта:
1. PHP-FPM
2. spawn-fcgi
ВАРИАНТ 1
cd /etc/init.d
ln -s php-fpm php5.6
ln -s php-fpm php7.0
#запуск
service php5.6 start
service php7.0 start
#добавление в автозагрузку
rc-update add php5.6 default
rc-update add php7.0 default
Не забудьте поправить конфиг php-fpmВАРИАНТ 2
1. Установите www-servers/spawn-fcgi
sudo emerge -av www-servers/spawn-fcgi
2. Установите PHP нужных версий с поддержкой fpm и cgiUSE="cgi fpm" sudo emerge -av dev-lang/php:5.6 dev-lang/php:7.0
3. Выберите, как будете их использовать с Nginx. Есть вариант использовать один сервис как php-fpm, а другой как cgi через spawn-fcgi, либо оба через spawn-fcgi. В моем случае, т.к. устаревших скриптов больше, я использую php-5.6 в режиме php-fpm, а php-7.0 я настрою через spawn-fcgi.Убедитесь, что у вас в режиме fpm выбрана правильная версия PHP
eselect php list fpm
[1] php5.6 *
[2] php7.0
Если нет, то:eselect php set fpm 1
4. Готовим конфиг php-7.0 для spawn-fcgi
cp /etc/conf.d/spawn-fcgi /etc/conf.d/spawn-fcgi.php7.0
5. Редактируем конфиг /etc/conf.d/spawn-fcgi.php7.0FCGI_SOCKET=
FCGI_ADDRESS=127.0.0.1
FCGI_PORT=9001
FCGI_PROGRAM=/usr/bin/php-cgi7.0
FCGI_CHILDREN=1
FCGI_CHROOT=
FCGI_CHDIR=
FCGI_USER=nginx
FCGI_GROUP=nginx
FCGI_EXTRA_OPTIONS="-M 0700"
ALLOWED_ENV="PATH"
PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=5000
6. Создаем симлинк для запуска сервисаln -s /etc/init.d/spawn-fcgi /etc/init.d/spawn-fcgi.php7.0
7. Запускаем/etc/init.d/spawn-fcgi.php7.0 start #or service spawn-fcgi.php7.0 start
8. Проверяемnetstat -ln | grep 9001
tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN
9. Добавляем его в конфиг Nginx, кому как привычноfastcgi_pass 127.0.0.1:9001;
или upstream php-7.0 {
server 127.0.0.1:9001;
}
10. Добавить сервис в автозагрузку rc-update add spawn-fcgi.php7.0 default
Комментариев 0