[FUG-BR] Servidor com load altíssimo
Leonardo Augusto
lalinden em gmail.com
Sexta Julho 6 17:08:46 BRT 2012
Se o apache ta matando a cpu, e o php esta dentro dele com o mod_php,
fica dificil detectar onde esta o culpado.
Usa o php em processo separado do apache, via fastcgi que fica melhor
de tu lidar.... segue como fazer isso:
#cd /usr/ports/www/apache22
#make WITH_MPM=worker install clean
#cd /usr/ports/lang/php5
#make install clean ( FPM )
#cd /usr/ports/www/mod_fastcgi
#make install clean
#vim /usr/local/etc/apache22/httpd.conf
LoadModule fastcgi_module libexec/apache22/mod_fastcgi.so
Include etc/apache22/extra/httpd-mpm.conf
#vim /usr/local/etc/apache22/Includes/php.conf
<IfModule prefork.c>
LoadModule php5_module libexec/apache22/libphp5.so
AddType application/x-httpd-php .php .html
AddType application/x-httpd-php-source .phps
</IfModule>
<IfModule worker.c>
FastCGIExternalServer /usr/local/sbin/php-fpm -socket /tmp/php-fpm.sock
AddHandler php-fastcgi .php
Action php-fastcgi /usr/local/sbin/php-fpm.fcgi
ScriptAlias /usr/local/sbin/php-fpm.fcgi /usr/local/sbin/php-fpm
<Directory /usr/local/sbin >
Options ExecCGI FollowSymLinks
SetHandler fastcgi-script
Order allow,deny
Allow from all
</Directory>
</IfModule>
DirectoryIndex index.php index.html
#vim /usr/local/etc/php-fpm.conf
#listen = 127.0.0.1:9000
listen = /tmp/php-fpm.sock
#vim /etc/rc.conf
##fpm
php_fpm_enable="YES"
##apache
apache22_enable="YES"
#/usr/local/etc/rc.d/php-fpm start
#/usr/local/etc/rc.d/apache22 start
As vantagens estao na cara, vc pode definir numero de processos
diferenciados para o apache e para o php,
quando o apache for servir uma pagina estatica ele nao precisa lidar com o php.
Voce pode atualizar/restartar/matar o php sem pecher com o apache... e
vice-versa...
Voce pode por o php numa maquina separada do apache por exemplo...
E por ai vai... acho muito melhor assim com fast_cgi do que com mod_php.
Boa sorte
Mais detalhes sobre a lista de discussão freebsd