赞片CMSNginx版本
照着做完,你就能在一台 Linux 服务器上用 Nginx 把赞片CMS跑起来,后台能登录、前台伪静态正常、不再满屏 404。
第一步:把环境装齐,确认版本对得上
这一步是准备运行环境,做完后你得到一个能跑 PHP 的 Nginx 站点。推荐组合:Nginx 1.20 以上、PHP 7.4、MySQL 5.7、宝塔面板 7.9 版本。不要用 PHP 8.x,赞片CMS 的很多代码没做 8.0 兼容,装完大概率白屏。
宝塔面板里操作路径是:左侧菜单「软件商店」→ 搜索 PHP-7.4 → 安装 → 装好后点「设置」→「禁用函数」,把 putenv、proc_open、pcntl_signal、symlink、readlink 这五个从列表里删掉(选中后点「删除」)。不删的话,安装环节会卡在“环境检测不通过”。
注意:MySQL 建议用 5.7 而不是 8.0,8.0 默认的
caching_sha2_password认证方式会让老版本 PHP 的 mysqli 扩展连不上数据库。
第二步:上传源码,把运行目录指到 public
这一步把程序文件放到位并设好权限,做完后网站根目录结构正确、可写目录能写入缓存。
在宝塔「网站」→「添加站点」,填好域名(不带 www 和带 www 建议都填),PHP 版本选 7.4。然后进「文件」,把赞片CMS的压缩包上传到 /www/wwwroot/你的域名/ 并解压。解压后你会看到 app、public、runtime、thinkphp 这些目录。
接着回到「网站」→ 点你的域名 →「设置」→「网站目录」,把「运行目录」从 / 改成 /public,保存。
然后在「文件」里用终端或宝塔的「终端」执行:
chown -R www:www /www/wwwroot/你的域名
chmod -R 755 /www/wwwroot/你的域名
chmod -R 777 /www/wwwroot/你的域名/runtime
chmod -R 777 /www/wwwroot/你的域名/public/uploads
注意:运行目录必须是
public,不要图省事留在根目录。根目录下有app、runtime这些文件夹,暴露在外网等于把配置文件和缓存直接摊开给人看。
第三步:写 Nginx 伪静态规则
这一步是整篇的核心,做完后前台详情页、分类页都是 /vod/123.html 这种静态样式,而不是 ?id=123。
在「网站」→「设置」→「配置文件」里,把 location / 部分替换成下面这段(root 一行确认指向 public):
root /www/wwwroot/你的域名/public;
index index.php index.html;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
location ~ \.php(.*)$ {
fastcgi_pass unix:/tmp/php-cgi-74.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存后点「重载配置」。这里的关键是 if (!-e $request_filename),它先判断文件是否真实存在,存在就直接给文件,不存在才走重写。
注意:
fastcgi_pass的 socket 路径要和你的 PHP 版本编号对上。PHP 7.4 在宝塔里是php-cgi-74.sock,写成 73 或 80 会直接 502。
第四步:跑安装向导
这一步完成数据库初始化和管理员账号创建。浏览器打开 http://你的域名/install/index.php,按提示填:
- 数据库地址:
127.0.0.1,端口3306 - 数据库名、用户名、密码:在宝塔「数据库」里新建的那个
- 管理员账号:自己设,别用 admin/123456
点「下一步」直到提示安装成功。装完立刻回「文件」,把 public/install 整个目录删掉。
后台入口是 http://你的域名/admin.php,用刚才设的账号登录。登录后进「系统」→「网站参数」,把「伪静态」开关打开,前台链接才会变成静态样式。
第五步:三分钟排查三类常见故障
- 后台 404:伪静态规则写成了强制重写
index.php,把/admin.php也吞了。检查是否有try_files或无条件 rewrite,保留if (!-e $request_filename)就不会误伤。 - 整站 500:九成是
runtime没写权限,重跑一遍第二步的chmod 777。 - 装完白屏:PHP 版本被切到了 8.x,切回 7.4 即可。
小结
- 环境锁定 Nginx 1.20+、PHP 7.4、MySQL 5.7,禁用函数要先放开。
- 运行目录必须设为
public,权限www:www+runtime可写。 - Nginx 伪静态核心是
if (!-e $request_filename)加index.php?s=$1重写。 fastcgi_pass的 socket 路径要和 PHP 版本号一致,否则 502。- 装完删
install目录、改掉默认管理员密码,别省这两步。
原文链接:https://www.gj0.com/thread-532.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。