赞片CMSNginx配置
照着这篇配完,你能让赞片CMS在 Nginx 上正常跑起来,并且伪静态、静态缓存、上传大小这些常见问题一次到位。
赞片CMS 是基于 ThinkPHP 内核的 PHP 程序,所以它的 Nginx 配置本质上就是「一份标准的 PHP 站点配置 + ThinkPHP 伪静态规则 + 几处针对视频站的调优」。下面按顺序来,全程假设你已经把源码解压到了 /www/wwwroot/zanpian。
第一步:确认环境,别急着改配置
这一步要确认的是 PHP 版本和扩展,选错版本后面全白搭。赞片CMS 推荐 PHP 7.2 ~ 7.4,MySQL 5.6 以上,Nginx 1.20 以上。
用的扩展至少要有:fileinfo、curl、gd、mbstring、openssl、pdo_mysql。用宝塔面板的话,在「软件商店 → PHP 7.4 → 设置 → 安装扩展」里勾选安装。
注意:PHP 8.0 及以上很多旧版赞片CMS会报
each()或create_function()已废弃的致命错误,别图新,先用 7.4。
第二步:写 server 块的基础部分
这一步建立站点根目录和默认首页,做完后访问域名能看到安装页或首页。进「宝塔面板 → 网站 → 你的站点 → 设置 → 配置文件」,把内容替换成下面这份骨架:
server {
listen 80;
server_name www.example.com example.com;
root /www/wwwroot/zanpian;
index index.php index.html;
client_max_body_size 128m;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
}
client_max_body_size 128m 是给后台上传视频、封面预留的空间,默认 1m 会导致上传大文件时返回 413。
第三步:接上 PHP-FPM
这一步让 Nginx 把 .php 请求转交给 PHP 处理。在 server 块里继续加上:
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-74.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffers 16 32k;
fastcgi_buffer_size 64k;
}
fastcgi_pass 这一行的值跟你的 PHP 安装方式有关。宝塔的 socket 路径通常是 /tmp/php-cgi-74.sock;如果是自己编译的 PHP,多半要写成 127.0.0.1:9000。
注意:改完先执行
nginx -t检查语法,再nginx -s reload。直接 reload 一份有语法错误的配置会让 Nginx 起不来,整台服务器上所有站点一起挂。
第四步:确认伪静态真的生效
这一步验证第二步的 rewrite 规则是否按赞片CMS预期工作。改完配置后,打开一条详情页地址(一般是 /vod/数字.html 或 /detail/xxx.html 这种形式),能正常打开而不是 404,就说明伪静态通了。
如果 404,先到后台「系统设置 → URL 设置」里把伪静态开关打开,再对照官方安装包里提供的 rewrite 规则核对一遍。不同小版本的赞片CMS路由前缀可能有差异,以你本地 application/route.php 或后台生成的规则为准。
注意:别在
location /里再加try_files $uri $uri/ /index.php?$query_string;,两条规则同时存在会互相抢请求,典型表现是首页正常、栏目页 404。
第五步:静态缓存与敏感目录保护
这一步给图片、JS、CSS 加浏览器缓存,同时堵住几个高危路径:
location ~ .*\.(gif|jpg|jpeg|png|webp|ico|swf)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 12h;
access_log off;
}
location ~* /(runtime|data|application)/ {
deny all;
}
location ~* /uploads/.*\.(php|php5|phtml)$ {
deny all;
}
runtime、data 目录经常存着缓存和数据库配置备份,允许外网直接访问等于把配置送人。uploads 目录禁止执行 PHP,是防木马的关键一条。
小结
- PHP 用 7.2~7.4,装齐 fileinfo、curl、gd、mbstring、pdo_mysql。
- 伪静态核心规则只有一条:
rewrite ^(.*)$ /index.php?s=$1 last; client_max_body_size必须按视频上传需求调大,否则 413。- 每次改完先
nginx -t再 reload,别让语法错误拖垮整台机器。 runtime、data目录和 uploads 下的 PHP 文件一律 deny,这是被入侵最常见的入口。
原文链接:https://www.gj0.com/thread-561.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。