PHP FPM seems does not setup pool for new domains.

I recently updated Virtualmin 5.99 and it is good that it supports PHP-FPM out of the box. I have created some domains say 10-15 domains which is working fine. But now when I setup new domain it does not automatically add PHP-FPM pool for the server and I need to manually add pool and configure apache virtualServer.

Is it bug or is done so knowngly?

Status: 
Active

Comments

Did you change the default PHP execution mode for new domains to FPM? This can be done at System Settings -> Server Templates -> Default Settings -> Apache website.

Yeap it had been enabled and is still selected at PHP-FPM. And it was working well, the bug occurred only after updating to 5.99 version.

I have a similar issue... Can you Switch from fcgi to fpm for existing domains? Currently I can not switch...

roshanbudhathoki - can you select FPM mode for new domains, or is that not even an option?

This will let me determine if the problem is that FPM support isnt even detected, or if it's a problem with new domain setup.

I see this when I go to website options https://ibb.co/dGOSEa

And this is in my virtualmin templates part : https://ibb.co/dGOSEa

Also, what if we could create pool in this format

[example.com.np]
user = example
group = example
listen = 8062
pm = dynamic
pm.max_children = 20
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 5
php_admin_value[upload_tmp_dir] = /home/example/tmp
php_admin_value[session.save_path] = /home/example/tmp
pm.max_requests = 50

And the filename be named as 8062-example.com.conf (should be more easier to identify site in performance (process info).

Thanks,

Ok, that should work .. and on my test systems, when I create a template that has FPM mode selected as the default it does get used for new domains.

Are you using Nginx or Apache there as your webserver?

I am using apache as my webserver. It was working fine Jamie but as I got updated to virtualmin5.99 it stopped and I am currently creating pool by myself. The apache proxypass config is correct and create localhost:port entry in the virtualhost config but it does not create relevant .conf file in the pool.d folder for php.

Also, out of 100s of .conf files its harder to filter and find out which one is related to which domain or subdomain as their name is confusing.

Can you post the output that you get when creating the domain? I'd like to see if there are any error messages, and what it reports about FPM.

The numeric pool file names aren't likely to change, as they are based on the domains' unique constant numeric IDs which means the pool files never need to be renamed by Virtualmin.

Nope, it does not show any error or anything at all. Every step is either done or successful and at last restart services are also successful.

Does it say "Restarting FPM server" at the end of the process?

It says and even when I do restart php process using service command such as

service php7.0-fpm restart

it yet does not execute the php code.

When you say it doesn't execute PHP code, what error message are you getting exactly?

This is message I get it. * Also, the server credentials I gave has both of the PHP-FPM and LetsEncrypt error, you can examine well.

url : hamrochords.com/index.php

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Apache/2.4.27 (Ubuntu) Server at hamrochords.com Port 80

I think I'd need remote access to your system to figure out what's going on here..

Jamie, I already gave you the remote access to the server. Did you receive an email from developer.roshan@gmail.com

This PHP-FPM issue and LetsEncrypt error

<a href="https://www.virtualmin.com/node/52770">https://www.virtualmin.com/node/52770</a>

is in the same server. I think it helps you with remote access.

Thanks, I am looking into this now on your system.

Ok, I think I've fixed the issue on your system - the problem was that the Apache mod_fcgid module needed for FPM mode to work wasn't enabled, but it was still chosen as the default mode. The next Virtualmin release will handle this more gracefully.