在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配置,提高应用程序的性能和稳定性。