在Ubuntu上優化PHP配置,可以通過調整php.ini
文件以及相關的系統設置來實現。以下是一些常見的優化步驟:
首先,確保你已經安裝了PHP以及所需的擴展。你可以使用以下命令來安裝:
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
php.ini
php.ini
文件通常位于/etc/php/{version}/cli/php.ini
(命令行模式)和/etc/php/{version}/fpm/php.ini
(PHP-FPM模式)。你需要根據你的需求編輯這些文件。
內存限制:增加內存限制以處理更大的請求。
memory_limit = 256M
執行時間:增加腳本的最大執行時間。
max_execution_time = 300
文件上傳大小:增加允許上傳的文件大小。
upload_max_filesize = 50M
post_max_size = 50M
錯誤報告:在生產環境中關閉錯誤報告。
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
OpenSSL:啟用OpenSSL以支持HTTPS。
openssl.cafile=/etc/ssl/certs/ca-certificates.crt
MySQL:優化MySQL連接。
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
如果你使用的是PHP-FPM,還需要配置/etc/php/{version}/fpm/pool.d/www.conf
文件。
進程管理:調整進程管理參數。
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
請求處理:調整請求處理參數。
request_terminate_timeout = 300s
除了PHP配置,還可以調整系統設置以優化性能。
編輯/etc/security/limits.conf
文件,增加文件描述符限制。
* soft nofile 65536
* hard nofile 65536
編輯/etc/sysctl.conf
文件,增加或修改以下參數:
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
然后運行以下命令使更改生效:
sudo sysctl -p
使用工具如top
、htop
、php-fpm status
等來監控系統資源使用情況,并根據實際情況進一步調整配置。
通過以上步驟,你可以在Ubuntu上優化PHP配置,提高應用程序的性能和穩定性。