赞片CMSNginx怎么配置

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

照着做完,你能让赞片CMS在Nginx服务器上正常打开首页、点得进内页,并且伪静态链接不再带 index.php?s= 那一串尾巴。

第一步:确认环境,拿到三个关键路径

这一步要拿到网站根目录、PHP版本、PHP-FPM套接字路径,后面写配置全靠它们。SSH登录服务器执行:

nginx -v                 # 例如 nginx/1.18.0 (Ubuntu)
php -v                   # 赞片CMS建议 PHP 7.4,8.x 部分版本会报错
ls /run/php/             # 看到 php7.4-fpm.sock 就对了
ls /www/wwwroot/zanpian  # 能看见 index.php、application、uploads 等目录

如果用的是宝塔面板,PHP-FPM 套接字通常在 /www/server/php/74/var/run/www.sock,可以在「软件商店 → PHP 7.4 → 配置修改」里看到 listen 那一行。

注意:赞片CMS对 PHP 8 的兼容性不稳定,报「Deprecated」白屏时先降到 7.4 再排查。

第二步:写 server 块

这一步把域名、根目录、伪静态、PHP解析一次性配好。新建 /etc/nginx/conf.d/zanpian.conf,粘贴以下内容(宝塔用户直接进「网站 → 设置 → 配置文件」覆盖):

server {
    listen 80;
    server_name www.example.com;
    root /www/wwwroot/zanpian;
    index index.php index.html;

    access_log /var/log/nginx/zanpian.access.log;
    error_log  /var/log/nginx/zanpian.error.log;

    # 伪静态:文件不存在就交给 index.php
    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?s=/$1 last;
        }
    }

    # PHP 解析
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 静态资源缓存
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|webp|woff2)$ {
        expires 7d;
        access_log off;
    }

    # 禁止访问敏感目录
    location ~* ^/(config|runtime|data|cache)/ { deny all; }
    location ~* ^/uploads/.*\.(php|php5|phtml)$ { deny all; }
}

root 末尾不要加斜杠;fastcgi_pass 必须和第一步 ls 出来的文件名完全一致。

注意:如果漏掉 fastcgi_param SCRIPT_FILENAME,打开页面会报「File not found」,这是最常见的坑。

第三步:后台把 URL 模式切到伪静态

光配 Nginx 还不够,赞片CMS自己也得开伪静态。浏览器访问 http://你的域名/admin.php 进后台,路径是「系统 → 系统设置 → URL设置(伪静态设置)」,把 URL 模式选成「伪静态 / Rewrite」,保存后清一次缓存。

这个页面里通常还会列出官方给的 Nginx 规则,以它为准:不同版本的 rewrite 写法会有差异,如果第二步的通用规则点了内页 404,就把后台给的规则整段替换掉 location / 里的内容,再重载一次。

第四步:给目录写权限

这一步决定后台能不能正常装、上传的封面能不能显示。赞片CMS需要写入的是这几个目录:

chown -R www:www /www/wwwroot/zanpian
chmod -R 755 /www/wwwroot/zanpian
chmod -R 775 /www/wwwroot/zanpian/runtime
chmod -R 775 /www/wwwroot/zanpian/uploads
chmod -R 775 /www/wwwroot/zanpian/data

CentOS 下 Nginx 用户是 nginx,把 www:www 换成 nginx:nginx。

注意:直接 chmod -R 777 是最省事也最危险的做法,影视站被挂马大多从这种权限开始。

第五步:测试并生效

先验证语法再重载,避免整个 Nginx 挂掉:

nginx -t
systemctl reload nginx

然后依次访问首页、一个分类页、一个详情页。详情页地址应该类似 /vod/1234.html,而不是 /index.php?s=/vod/1234.html。如果有 404,看 /var/log/nginx/zanpian.error.log 里的具体请求路径。

小结

  • 关键是三样东西:网站根目录、PHP-FPM 套接字路径、伪静态规则,缺一样都是 500 或 404。
  • location / 里的 rewrite 负责「文件不存在就转给 index.php」,location ~ \.php$ 负责交给 PHP-FPM 执行。
  • 后台 URL 模式必须切到伪静态,否则 Nginx 配了也白配。
  • 伪静态规则优先用后台自带的,版本差异比想象中大。
  • 改完永远先 nginx -t,再 systemctl reload nginx。
版权声明:本文来自 GJ站长论坛《赞片CMSNginx怎么配置》
原文链接:https://www.gj0.com/thread-522.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~