温馨提示×

如何在Ubuntu上优化PHP与Apache

小樊
44
2025-03-21 03:51:32
栏目: 编程语言

在Ubuntu上优化PHP与Apache可以通过以下几个步骤来实现:

1. 安装和启用PHP-FPM

  • 使用apt-get安装PHP-FPM:
    sudo apt-get install php-fpm 
  • 编辑PHP-FPM配置文件/etc/php/7.x/fpm/pool.d/www.conf(根据实际安装的PHP版本修改7.x),调整以下设置以优化性能:
    • pm.max_children:设置最大子进程数。
    • pm.start_servers:设置启动时的服务器进程数。
    • pm.min_spare_serverspm.max_spare_servers:设置空闲服务器进程的最小和最大数量。
  • 重启PHP-FPM服务:
    sudo systemctl restart php7.x-fpm 

2. 配置Apache使用PHP-FPM

  • 编辑Apache配置文件/etc/apache2/mods-enabled/proxy_fcgi.conf,添加以下内容:
    <FilesMatch \.php$> SetHandler "proxy:unix:/run/php/php7.x-fpm.sock|fcgi://localhost" </FilesMatch> 
  • 替换7.x为实际的PHP版本。
  • 重启Apache服务:
    sudo systemctl restart apache2 

3. 安装和启用OPcache

  • 安装OPcache扩展:
    sudo apt-get install php-opcache 
  • php.ini文件中启用OPcache:
    [opcache] zend_extension = /usr/lib/php/2.x/opcache.so opcache.enable = 1 opcache.memory_consumption = 64 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 2 opcache.fast_shutdown = 1 
  • 重启Apache服务以使更改生效。

4. 调整PHP配置

  • 编辑php.ini文件,调整以下设置以优化性能:
    • memory_limit:根据服务器内存调整。
    • post_max_sizeupload_max_filesize:根据实际需求调整。
    • max_execution_time:根据脚本需求调整。
    • max_input_varsmax_input_time:根据输入数据量调整。

5. 安装和配置常用PHP扩展

  • 根据项目需求安装必要的PHP扩展,例如:
    sudo apt-get install php7.x-mysql php7.x-curl php7.x-json php7.x-mbstring php7.x-xml php7.x-intl php7.x-gd php7.x-curl php7.x-xmlrpc php7.x-bz2 php7.x-interbase php7.x-pgsql php7.x-recode php7.x-sybase php7.x-xsl php7.x-dba php7.x-phpdbg php7.x-snmp php7.x-tidy php7.x-zip 

6. 优化Apache配置

  • 编辑Apache的主配置文件/etc/apache2/apache2.conf或虚拟主机配置文件,进行以下优化:
    • 启用KeepAlive以减少TCP连接的开销。
    • 使用mod_expiresmod_deflate等缓存技术提高响应速度。
    • 合理设置并发连接数。
    • 如果需要,使用mod_proxy等实现负载均衡。

7. 监控和调优

  • 使用工具如New Relic、Blackfire等监控应用程序性能,找出瓶颈并进行相应的优化。

请注意,每个应用程序都有其特点,因此在进行优化时,请根据你的具体情况进行调整。

0