发布于2026-07-26 阅读(0)
扫一扫,手机访问
在 CentOS 上给 PHP 开启 gzip 压缩,这事儿说难不难,但要想一次性搞定,还是得按部就班来。下面就是完整的操作流程,从服务器环境搭建到最终配置生效,每一步都讲清楚,不绕弯子。

先确认服务器上已经装了 Apache 或 Nginx。CentOS 默认带的是 Apache,但如果你偏好 Nginx,也没问题。安装命令很简单,Apache 用 sudo yum install httpd,Nginx 的话要先装 epel-release 再装 nginx,也就是 sudo yum install epel-release 然后 sudo yum install nginx。
装好之后,得把服务启动并设为开机自启。Apache 用 sudo systemctl start httpd 和 sudo systemctl enable httpd;Nginx 则对应 sudo systemctl start nginx 和 sudo systemctl enable nginx。
接下来装 PHP 和 PHP-FPM,这也是跑 PHP 程序的核心组件。命令是 sudo yum install php php-fpm。装完后,需要调整一下 PHP-FPM 的配置。编辑 /etc/php-fpm.d/www.conf 文件,找到 ;cgi.fix_pathinfo=1 这一行,把前面的分号去掉,改成 cgi.fix_pathinfo=0。这一步是为了防止解析漏洞,属于安全配置的常规操作。改完后重启 PHP-FPM 服务:sudo systemctl restart php-fpm。
现在要让 Apache 或 Nginx 跟 PHP-FPM 配合起来。如果是 Apache,在 /etc/httpd/conf.d/ 下新建一个 php-fpm.conf 文件,写入:
SetHandler "proxy:fcgi://localhost:9000"
然后重启 Apache。如果是 Nginx,在 /etc/nginx/conf.d/ 下新建 php-fpm.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 服务。
关键的 gzip 压缩配置来了。Apache 用户需要编辑 /etc/httpd/conf/httpd.conf,找到 LoadModule deflate_module modules/mod_deflate.so 这一行,去掉前面的分号,然后在文件末尾追加:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/ja vascript application/json
Nginx 用户则编辑 /etc/nginx/nginx.conf,在 http 块里加入:
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types application/ja vascript application/json application/x-ja vascript text/css text/ja vascript text/plain text/xml;
配置完成后,别忘了重启对应的 Web 服务,让改动生效。Apache 用 sudo systemctl restart httpd,Nginx 用 sudo systemctl restart nginx。
到这一步,CentOS 服务器上的 PHP gzip 压缩已经正式启用。你可以用 GTmetrix 或 PageSpeed Insights 跑一遍测试,看看压缩效果带来的性能提升,页面加载速度会有明显改善。