在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的性能。根據具體需求和環境,可能需要進一步調整和優化。