赞片CMSNginx配置

juming
juming 初级会员超兽战士
发布于 2026-10-07 21:27 ·1 浏览 ·0 回复

照着这篇配完,你能让赞片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,这是被入侵最常见的入口。
版权声明:本文来自 GJ站长论坛《赞片CMSNginx配置》
原文链接:https://www.gj0.com/thread-561.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~