PHP-FPM Code and FileSystem Layout for EasyApache 4 allows the website to handle loads.
As part of our Server Management Services, we assist our customers with several cPanel queries.
Today, let us discuss PHP-FPM Code and FileSystem Layout for EasyApache.
PHP FastCGI Process Manager
Here, our Support Engineers explains the following information about the PHP-FPM daemon:
- The PHP-FPM filesystem layout
- How the system implements PHP-FPM on your system
PHP-FPM provides an alternative FastCGI daemon for PHP that allows a website to handle significant loads. It allows a host to set specific amounts of resources to process a domain’s requests via workers available to respond to PHP requests (pools).
PHP-FPM does not overload a system’s memory with PHP from Apache processes. It only executes PHP requests, which enables it to serve content quicker than other methods.
We can only activate Apache PHP-FPM if the server has at least 2 GB of RAM available, or at least 30 MB of RAM per domain. If we enable PHP-FPM on a server with less than the required RAM, the server may experience severe performance issues.
PHP-FPM Code and FileSystem Layout for EasyApache
In order to understand PHP-FPM code and Filesystem layout, let us cover a few topics our Support Engineers find relevant.
PHP-FPM implementation
The
Cpanel::PHPFPM (Cpanel/PHPFPM.pm)
Copy Code
module provides the basis of EasyApache support with PHP-FPM. The module’s built-in defaults generate configuration files that provide fully functional PHP-FPM pools for a domain.
The system uses the following configuration files:
/var/cpanel/ApachePHPFPM/system.yaml /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml
Copy Code
We will need to create these two files manually. To do this, we perform the following steps:
- Create the
directory./var/cpanel/ApachePHPFPM/
Copy Code
mkdir -p /var/cpanel/ApachePHPFPM/
Copy Code
- Eventually, create the two files.
touch /var/cpanel/ApachePHPFPM/system.yaml
touch /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml
Copy Code
File contents
Each file contains different directives from the built-in values.
The following example displays the
system.yam
Copy Code
l file’s contents:
—
daemonize: yes
Copy Code
- This example only uses a different value than the built-in default for the daemonize setting.
- The
file applies the value to each pool that we create.system-pool-defaults.yaml
Copy Code - Each domain in the system requires that we create one pool.
- Replace any unacceptable characters such as
with an underscore.[]()
Copy Code
._
Copy Code
The table below contains examples of unacceptable value names:
Old Name New Name
syslog.facility syslog_facility
php_admin_value[disable_functions] php_admin_value_disable_functions
Copy Code
The filesystem configuration files
The system stores the configuration files that control PHP-FPM in the following files:
– This file contains the system configurations of PHP-FPM./opt/cpanel/ea-php54/root/etc/php-fpm.conf
Copy Code
– This file changes the domain to the domain setting of the website that we use. For example,/opt/cpanel/ea-php54/root/etc/php-fpm.d/[domain].conf
Copy Code
f domain.the cptest1.tld.con
Copy Code
The
.yaml
Copy Code
files within the /var/cpanel
Copy Code
directories generate these two files.
- Do not edit these configuration files manually.
- The system duplicates these configuration files for each version that we select.
- The
file displays/opt/cpanel/ea-php54/root/etc/php-fpm.d/[domain].conf
Copy Code
orea-php54
Copy Code
as its version.php54
Copy Code
Required files
We use the required file
/var/cpanel/userdata/[user]/[domain].php-fpm.yam
Copy Code
l only if we wish to run PHP-FPM.
/var/cpanel/userdata/[user]/[domain].php-fpm.yaml
Copy Code
– This file controls a specific domain’s pool. The system uses the built-in default values and system_pool_defaults
Copy Code
values to generate the [domain].conf
Copy Code
file.
Optional files
We use the following optional files only if we wish to change the default parameters. All domain pools use these defaults unless a .yaml file overrides them.
/var/cpanel/ApachePHPFPM/system.yaml
Copy Code
This file contains system-level settings. The system also uses this file to generate the
/opt/cpanel/ea-php5?/root/etc/php-fpm.conf
Copy Code
file, where the ?
Copy Code
indicates that the system uses this file to generate all of the PHP versions in the php-fpm.conf
Copy Code
file.
/var/cpanel/ApachePHPFPM/system_pool_defaults.yaml
Copy Code
The system uses this file to generate each domain’s pool and configure each user’s pool.
Restore PHP to the system
The system cannot remove configurations or other related files when we manually remove RPMs. If we manually remove RPMs, we could remove dependencies that our hosted websites require.
Our support techs do not recommend to perform
yum remove
Copy Code
operations with any ea-php
Copy Code
RPMs.
If we remove PHP from the system while any of the hosted websites still use it, those websites will display errors. In addition, Apache could fail to display the website entirely.
Before we perform a
yum remove
Copy Code
, confirm that none of the hosted websites use the PHP version that we wish to remove with WHM’s MultiPHP Manager interface.
To restore PHP versions to the system, we run:
ea_install_profile –install /etc/cpanel/ea4/profiles/cpanel/default.json /usr/local/cpanel/scripts/restartsrv apache_php_fpm
Copy Code
[Did the command fail? Contact us now!]
Conclusion
In short, PHP-FPM Code and FileSystem Layout for EasyApache allows the website to handle loads. Today, we saw a method of implementation by our Support Engineers on the same.
0 Comments