On Thu, Dec 5, 2013 at 1:52 AM, James <james@xxxxxxxxxxxxxxxx> wrote:
It would be valuable to enable server status (mod_status) and look at the mod_fcgid portion of the report near the time this error is occurring. That will likely shed light on the problem.Thanks Igor.Some said the reason of that error message "mod_fcgid: can't apply process slot" is because it has hitting a global limit of FcgidMaxProcesses and a per-script limit of FcgidMaxProcessesPerClass. With that explanation, I'm curious what is the caused of high FastCGI application processes. Does that mean there are more concurrent web users accessing on domain.com? Or does that mean that since the maximum FastCGI process is 150 to all vhost and each vhost can start up to 16 process as per the value settings of FcgidMaxProcessesPerClass and domain.com had request pf more than 16 processes?
Maybe you see that recently exited PHP processes are hanging around for a while, not getting reaped quickly. (Decrease FcgidZombieScanInterval in that case.)
You should probably set FcgidZombieScanInterval to 1 anyway so that exited processes don't hang around long.On Thu, Dec 5, 2013 at 12:11 PM, Igor Cicimov <icicimov@xxxxxxxxx> wrote:
From the module man page:
Description: Max requests handled by each FastCGI applicationSyntax: FcgidMaxRequestsPerProcess valueDefault: FcgidMaxRequestsPerProcess 0Context: server config, virtual hostStatus: ExternalModule: mod_fcgidthis setting can be applied on server and/or vhost context and affects all applications in that server/vhost. So yes you can fine tune this value per vhost.On Thu, Dec 5, 2013 at 2:10 PM, James <james@xxxxxxxxxxxxxxxx> wrote:
Thanks.If I will set the value FcgidMaxRequestsPerProcess on virtual host, would it be effected for domain.com only and not the rest of domain?Hi Igor,Thanks for your reply.
On Thu, Dec 5, 2013 at 10:46 AM, Igor Cicimov <icicimov@xxxxxxxxx> wrote:
FcgidMaxRequestsPerProcess must be <= to PHP_FCGI_MAX_REQUESTS
On Thu, Dec 5, 2013 at 12:05 PM, James <james@xxxxxxxxxxxxxxxx> wrote:
Hi there,
I have the following:
Server specs:
Memory = 7G
CPU = 2
Packages:
httpd-2.2.25
mod_fcgid-2.3.7
php-5.3.27
$ grep -v "#" /etc/httpd/conf.d/fcgid.conf
..............................................
LoadModule fcgid_module modules/mod_fcgid.so
AddHandler fcgid-script fcg fcgi fpl
FcgidIPCDir /var/run/mod_fcgid
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
FcgidFixPathinfo 1
FcgidMaxRequestLen 1073741824
FcgidIOTimeout 7200
FcgidConnectTimeout 30
FcgidMaxRequestsPerProcess 10000
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 16
FcgidMaxProcesses 150
FcgidIdleTimeout 240
FcgidProcessLifeTime 7200
FcgidIdleScanInterval 120
..............................................$ cat /var/www/vhosts/apps/domain.com/php-fcgi-scripts/php-fcgi-starter...........................
..............................................
#!/bin/sh
PHPRC=/var/www/vhosts/apps/domain.com/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=0
exec /usr/bin/php-cgi
..............................................
Error(s):
...........................
[warn] [client XXX.XXX.XXX.XXX] mod_fcgid: can't apply process slot for /var/www/vhosts/apps/domain.com/php-fcgi-scripts/php-fcgi-starterIt is always giving me this kind of error even though I increase the value of FcgidMaxProcessesPerClass into 20 for domain.com apache config file manually.
$ less /etc/httpd/vhosts/domain.com.conf
..............................................
<VirtualHost *:80>
ServerName domain.com
ServerAdmin webmaster@xxxxxxxxxx
DocumentRoot " /var/www/vhosts/apps/domain.com/httpdocs"
AccessFileName .htaccess
<Directory " /var/www/vhosts/apps/domain.com/httpdocs">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>
<IfModule mod_fcgid.c>
SuexecUserGroup username username
FcgidMaxProcessesPerClass 20
<Directory " /var/www/vhosts/apps/domain.com/httpdocs">
Options +ExecCGI
AllowOverride All
AddHandler fcgid-script .php
FCGIWrapper /var/www/vhosts/apps/domain.com/php-fcgi-scripts/php-fcgi-starter .php
Order allow,deny
Allow from all
</Directory>
</IfModule>
Include conf.d/apps.cfg
ErrorLog logs/domain.com/error.log
CustomLog logs/domain.com/access.log combined
</VirtualHost>I would appreciate if anyone could shed me some lights to rectify this error.Thank you.Kind regards,
James--
Born in Roswell... married an alien...
http://emptyhammock.com/