在Ubuntu上優化Apache2以運行PHP腳本,可以通過以下幾個方面來實現:
首先,確保你已經安裝了PHP及其相關模塊。你可以使用以下命令來安裝PHP:
sudo apt update
sudo apt install php libapache2-mod-php php-cli php-mysql
編輯Apache2的配置文件,通常位于/etc/apache2/apache2.conf
或/etc/apache2/sites-available/000-default.conf
。確保啟用了必要的模塊:
sudo a2enmod php7.4 # 根據你的PHP版本調整
sudo systemctl restart apache2
編輯PHP的配置文件/etc/php/7.4/apache2/php.ini
(根據你的PHP版本調整路徑),進行以下優化:
內存限制:增加內存限制以處理更大的腳本。
memory_limit = 256M
執行時間:增加腳本的最大執行時間。
max_execution_time = 300
錯誤報告:在生產環境中關閉錯誤報告。
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
文件上傳:增加文件上傳大小限制。
upload_max_filesize = 50M
post_max_size = 50M
OpenSSL:啟用OpenSSL擴展。
extension=openssl
MySQLi:啟用MySQLi擴展。
extension=mysqli
在Apache2配置文件中啟用Gzip壓縮以減少傳輸數據的大?。?/p>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>
使用PHP的OPcache擴展來加速腳本執行:
[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
編輯/etc/apache2/apache2.conf
或/etc/apache2/sites-available/000-default.conf
,進行以下優化:
KeepAlive:啟用KeepAlive以減少連接開銷。
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
MaxClients:根據服務器的內存和CPU資源調整最大客戶端數。
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
定期檢查Apache2和PHP的日志文件,以便及時發現和解決問題:
/var/log/apache2/error.log
/var/log/php_errors.log
通過以上步驟,你可以顯著提高Ubuntu上Apache2運行PHP腳本的性能。記得在每次修改配置文件后重啟Apache2服務:
sudo systemctl restart apache2