Задать вопрос
@xbox

Как подключить к сокету Mysql несколько сайтов каждый из которых в своем chroot окружении?

Настроил несколько пулов 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 с использованием сокетов?
  • Вопрос задан
  • 3491 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
можно с mount --bind примонтировать папочку с сокетом внутрь чрута.
Хотя проще ходить по tcp просто.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
узким местом будет БД
разницы не почувствуете хоть через sock хоть tcp
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽