在CentOS上优化PHP配置可以通过多个步骤来实现,以下是一个详细的指南:
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip php-curl php-xml php-pear php-bcmath
sudo vi /etc/php-fpm.d/www.conf
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
pm.process_idle_timeout = 10
request_terminate_timeout = 120
sudo systemctl restart php-fpm
sudo vi /etc/php.ini
memory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
[opcache]
zend_extension = /usr/lib64/php/modules/opcache.so
opcache.enable = 1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
safe_mode = Off
expose_php = Off
sudo vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
}
}
sudo systemctl restart nginx
sudo a2enmod proxy_fcgi
sudo vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://unix:/run/php-fpm/php-fpm.sock|fcgi://localhost"
</FilesMatch>
</VirtualHost>
sudo systemctl restart httpd
sudo yum install memcached
# 或
sudo yum install redis
sudo yum install php-pecl-memcached
# 或
sudo yum install php-pecl-redis
extension=memcached.so
# 或
extension=redis.so
top
, htop
, iostat
等来监控系统资源使用情况。通过以上步骤,您可以在CentOS上显著优化PHP的运行环境和性能。每个应用程序的需求和环境都不同,因此在进行性能调优时,建议根据具体情况进行调整,并在开发或测试环境中进行测试后,再在生产环境中应用更改。