PHP-FPM + Apache на Ubuntu -- Настроить поддержку разных версий php для разных сайтов на одном сервере
Primary tabs
Рассмотрим настройку связки Apache + PHP-FPM на ubuntu (16.04 в данном случае).
Что устанавливаем
php5.5 с подключение в Apache2.4 через fpm
Установка и настройка
Настройка Apache
Предположим, что Apache у вас уже установлен, а теперь нам потребуется просто подготовить его к работе с php-fmp.
- Для этого установим модуль поддержки fastcgi.
- А также включим его и ещё два модуля:
sudo a2enmod actions fastcgi alias
Прейдём к настройке php-fpm.
Настройка PHP через fpm
Далее рассмотрим установку из репозитория. Я брал php55 отсюда.
Установим основной пакет с php + модуль работы через fpm:
sudo apt-get install php55-common php55-fpm
Далее нам потребуется настроить службу fpm -- для этого:
- Сначала нужно создать/отредактировать .conf файл в папке fpm/pool.d
В моём случае я просто скопирую файл:/etc/php55/fpm/pool.d/pool-www-data.conf.example
В ту же папку и изменю имя, так что полный путь к нему будет таким:
/etc/php55/fpm/pool.d/pool-www-data.conf
Сделаем это комадой (владельцем оригинального файла у меня был root):
sudo cp pool-www-data.conf.example pool-www-data.conf
- Далее перенастроим fpm на прослушивание TCP порта, для этого откроем наш файл на редактирование:
и заменим строку listen:
listen = /var/run/php55-fpm/$pool.socket
на такую (строе можно закомментировать):
;listen = /var/run/php55-fpm/$pool.socket listen = 127.0.0.1:9000
-- таким образом мы указываем службе php-fmp слушать 9000 порт -- именно через него она будет общаться с Apache.
- Перезагружаем службу фмп:
sudo systemctl reload php55-fpm.service
(если будет соощение о том, что служба не запустилась, выполните то же самое начните с systemctl start ) -- возможны проблемы, их причины можно диагностировать так.
-- точное название службы можно узнать так (заодно проверить установилась ли она у вас).
Далее нам надо будет указать что для конкретного виртуальонго хоста надо использовать именно нашё фпм-службу.
Правка конфига виртуального хоста
Для этого добавим в конфиг виртуального хоста нашего сайта:
<FilesMatch \.php$> # Change this "proxy:unix:/path/to/fpm.socket" # if using a Unix socket SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>
Источники:
- Using PHP-FPM with Apache on Ubuntu 16.04: https://www.howtoforge.com/tutorial/apac...
- Log in to post comments
- 12520 reads
vedro-compota
Tue, 09/12/2017 - 21:05
Permalink
Если служба не перезапускается/не запускается
То нужно пробовать так (перезапуск вручную):
-- так же можно узнать причину ошибки.
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 11/09/2017 - 13:10
Permalink
Завести с настройкой типа:
Завести с настройкой типа:
не получилось.
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 11/09/2017 - 13:11
Permalink
Подобное решение
подобное решение использовалось тут: http://fkn.ktu10.com/?q=node/8536
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 11/09/2017 - 15:43
Permalink
Test php53-fpm configuration
Test php53-fpm configuration /etc/init.d/php53-fpm: 145: /etc/init.d/php53-fpm: /etc/php53/fpm/pool.d/usr/lib/php53/php-fpm-checkconf: not found
failed
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 11/09/2017 - 16:01
Permalink
Job for ....service failed because the control process exited wi
Узнать причину подобной ошибки можно так.
_____________
матфак вгу и остальная классика =)