Настроил несколько пулов php5-fpm.
Все пулы работают от отдельных пользователей.
На каждый пул настроен отдельный chroot.
Например:
пул 1 — chroot /var/www/site1
пул 2 — chroot /var/www/site2
При попытке любого сайта подключиться к Mysql выдается ошибка.
Can't connect to local MySQL server through socket '/var/run/mysqld mysqld.sock' (2) [2002]
Ошибка связана с тем, что процесс php не может получить доступ к сокету, который находится за пределами chroot окружения. Причем сообщение такое было даже при том, что в настройках сайта стоял метод подключения через порт, а не через сокет.
$dbhost = 'localhost';
$dbport = '3306';
Долго пришлось разбираться в чем дело. Оказалось, что при указании в настройках "localhost" php в любом случае подключается через сокет.
После указания в настройках сайта вместо "localhost"
$dbhost = '127.0.0.1';
php стал подключаться к mysql через порт.
Таким образом промежуточное решение подключение к Mysql через порт я настроил. Но поскольку подключение к mysql через сокеты быстрее, чем через сеть (через порт), хочу сделать всё красиво и дать возможность всем сайтам подключаться через сокет. Но вот как это сделать я не знаю.
Можно как-нибудь много сайтов в разных chroot подружить с mysql с использованием сокетов?