We are using the latest version of Plesk Onyx (with all patches and updates installed) on both Debian 8 and Debian 9 machines. The way Plesk handles mutations to FPM is giving us headaches and negative customer feedback.
It all seems to boil down to the fact that Plesk sometimes mishandles changes to FPM. There are multiple issues:
- When changing PHP version, sometimes the pool config is not removed from the old PHP version. This leads to a conflict where one of the FPM's can't restart due to an already existing socket for that specific website. Funny thing is, this doesn't always happen (its not easily reproduced).
Log says:
Nov 5 09:08:48 rosalind php-fpm7.0[19367]: [05-Nov-2018 09:08:48] ERROR: An another FPM instance seems to already listen on /var/www/vhosts/system/X.be/php-fpm.sock
Nov 5 09:08:48 rosalind php-fpm7.0[19367]: [05-Nov-2018 09:08:48] ERROR: FPM initialization failed
However, when we verify now, there is only 1 pool config for this site:
# grep -r X /etc/php /opt/plesk/php
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.conf:; Panel or override settings in /var/www/vhosts/system/X.be/conf/php.ini.
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.conf:; section of /var/www/vhosts/system/X.be/conf/php.ini file.
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.conf:[X.be]
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.confhp_value[open_basedir] = "/var/www/vhosts/X.be/:/tmp/"
Could this be a race condition where Plesk tries to restart the new FPM's before it has restarted the old one to clean up the socket?
- When making a change to a serviceplan and sync the changes to all subscriptions using that plan, FPM often can't restart. Presumably this is due to the same reason (possible race condition)
I was wondering if anyone is seeing the same behaviour as we do. We frequently find FPM processes not running due to conflicting pools. Even subscriptions that we have manually removed the pool config (such as this X.be subscription) is causing us headaches again.
It all seems to boil down to the fact that Plesk sometimes mishandles changes to FPM. There are multiple issues:
- When changing PHP version, sometimes the pool config is not removed from the old PHP version. This leads to a conflict where one of the FPM's can't restart due to an already existing socket for that specific website. Funny thing is, this doesn't always happen (its not easily reproduced).
Log says:
Nov 5 09:08:48 rosalind php-fpm7.0[19367]: [05-Nov-2018 09:08:48] ERROR: An another FPM instance seems to already listen on /var/www/vhosts/system/X.be/php-fpm.sock
Nov 5 09:08:48 rosalind php-fpm7.0[19367]: [05-Nov-2018 09:08:48] ERROR: FPM initialization failed
However, when we verify now, there is only 1 pool config for this site:
# grep -r X /etc/php /opt/plesk/php
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.conf:; Panel or override settings in /var/www/vhosts/system/X.be/conf/php.ini.
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.conf:; section of /var/www/vhosts/system/X.be/conf/php.ini file.
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.conf:[X.be]
/opt/plesk/php/7.0/etc/php-fpm.d/X.be.confhp_value[open_basedir] = "/var/www/vhosts/X.be/:/tmp/"
Could this be a race condition where Plesk tries to restart the new FPM's before it has restarted the old one to clean up the socket?
- When making a change to a serviceplan and sync the changes to all subscriptions using that plan, FPM often can't restart. Presumably this is due to the same reason (possible race condition)
I was wondering if anyone is seeing the same behaviour as we do. We frequently find FPM processes not running due to conflicting pools. Even subscriptions that we have manually removed the pool config (such as this X.be subscription) is causing us headaches again.
Last edited: