在CentOS上優化Apache和PHP的運行環境可以通過多個步驟來實現,包括安裝必要的擴展、調整配置文件、優化數據庫等。以下是一個詳細的指南:
首先,確保你已經安裝了Apache和PHP??梢允褂脃um進行安裝:
sudo yum install httpd php php-mysqlnd
編輯Apache的配置文件/etc/httpd/conf/httpd.conf
,確保加載了PHP模塊:
LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
編輯PHP的配置文件/etc/php.ini
,根據服務器的內存和需求進行調整:
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 32M
max_execution_time = 30
OPcache可以顯著提高PHP的性能。安裝并配置OPcache:
sudo yum install php-opcache
在php.ini
中添加或修改以下配置:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
PHP-FPM可以提供更好的性能和管理PHP進程。安裝PHP-FPM:
sudo yum install php-fpm
配置PHP-FPM:
sudo vi /etc/php-fpm.d/www.conf
修改以下配置:
user = apache
group = apache
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
重啟PHP-FPM和Apache:
sudo systemctl restart php-fpm
sudo systemctl restart httpd
根據實際需要加載Apache模塊,避免加載不必要的模塊以減少內存消耗:
LoadModule php7_module modules/libphp7.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule ssl_module modules/mod_ssl.so
在httpd.conf
中調整并發連接數設置:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 10000
</IfModule>
優化MySQL配置文件/etc/my.cnf
:
[mysqld]
innodb_buffer_pool_size = 1G
thread_cache_size = 16
table_open_cache = 2000
使用性能監控工具如Xdebug、Blackfire.io等分析PHP應用程序的性能瓶頸,并進行相應的優化。
通過以上步驟,你可以在CentOS上優化Apache和PHP的運行環境,提高服務器的性能和穩定性。