在CentOS上优化Apache和PHP性能可以通过多个方面来实现。以下是一些常见的优化方法:
PHP-FPM(FastCGI Process Manager)是一个更高效的PHP处理方式,相比于传统的mod_php,它可以更好地管理PHP进程。
sudo yum install php-fpm
编辑/etc/php-fpm.d/www.conf
文件,进行以下优化:
; 设置监听地址和端口
listen = /run/php-fpm/www.sock
; 设置用户和组
user = apache
group = apache
; 最大连接数
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
; 请求处理超时时间
request_terminate_timeout = 30s
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
编辑/etc/httpd/conf/httpd.conf
文件,进行以下优化:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule php_module modules/libphp.so
在虚拟主机配置文件中添加以下内容,将PHP请求转发到PHP-FPM:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
</VirtualHost>
编辑/etc/httpd/conf/httpd.conf
文件,进行以下优化:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
在虚拟主机配置文件中添加以下内容,启用Gzip压缩:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>
使用OPcache来加速PHP脚本的执行:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
如果使用数据库,确保数据库连接池和查询缓存已启用,并进行适当的索引优化。
使用内容分发网络(CDN)来加速静态资源的加载。
定期监控服务器的性能和日志文件,以便及时发现和解决问题。
通过以上步骤,可以显著提高CentOS上Apache和PHP的性能。根据具体需求和环境,可能需要进一步调整和优化。