在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压缩以减少传输数据的大小:
<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