在CentOS下高效配置PHP需要从多个方面入手,包括安装、配置、性能优化以及安全配置。以下是详细的步骤和建议:
1. 安装PHP及其常用扩展
首先,确保你已经安装了EPEL仓库和必要的PHP扩展:
sudo yum install epel-release -y sudo yum install php php-mysql php-gd php-xml php-mbstring -y
验证安装是否成功:
php -v
2. 配置PHP
编辑PHP的配置文件/etc/php.ini
,可以根据需要进行修改。例如:
sudo vi /etc/php.ini
调整以下配置项:
memory_limit
:根据应用程序需求调整内存限制。upload_max_filesize
:调整上传文件大小限制。max_execution_time
:设置脚本最大执行时间。display_errors
:在生产环境中建议关闭错误显示。
3. 配置PHP-FPM
编辑PHP-FPM的配置文件/etc/php-fpm.d/www.conf
:
sudo vi /etc/php-fpm.d/www.conf
修改以下配置项:
listen
:设置PHP-FPM监听的地址和端口。user
和group
:设置PHP-FPM运行的用户和组,通常使用nginx
或www-data
。pm
:设置进程管理器的类型和配置,通常使用dynamic
。pm.max_children
、pm.start_servers
、pm.min_spare_servers
、pm.max_spare_servers
、pm.max_requests
:根据服务器资源调整这些参数以优化性能。
重启PHP-FPM服务以应用更改:
sudo systemctl restart php-fpm
4. 配置Nginx支持PHP
编辑Nginx的默认站点配置文件/etc/nginx/conf.d/default.conf
:
sudo vi /etc/nginx/conf.d/default.conf
找到并修改以下配置项:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
重启Nginx服务以应用更改:
sudo systemctl restart nginx
5. 性能优化
- 启用OPcache:安装并启用OPcache以缓存编译后的PHP字节码,提高执行速度。
sudo yum install php-opcache -y echo "opcache.enable=1" | sudo tee /etc/php.d/opcache.ini sudo systemctl restart php-fpm
- 优化数据库查询:确保数据库查询是高效的,使用索引和预编译查询等方法。
- 文件操作优化:减少文件I/O操作,使用文件缓存存储不经常变动的数据。
6. 安全配置
- 关闭不必要的端口:使用
firewalld
关闭不必要的端口。 - 更改SSH端口:将SSH端口改为10000以上。
- 禁用危险函数:在
php.ini
中禁用可能被恶意利用的函数,如system
,exec
,shell_exec
等。 - 保护会话和限制文件访问:使用
open_basedir
限制PHP脚本可以访问的目录。
通过以上步骤,你可以在CentOS下高效地配置PHP,并确保其性能和安全性。