广告位

广告合作 · 联系tg:@wugang5

首页 › 站长手册 › 苹果CMS Nginx 配置

苹果CMS Nginx 配置

苹果CMS 的多数玄学问题——页面 404、后台样式丢失、伪静态不生效——根子都在 Nginx 配置。本文按用途分块,整理一套站点常用的 Nginx 配置要点,拿来对照检查即可。

伪静态配置

苹果CMS V10 依赖 rewrite 规则把请求转发到 index.php,规则缺失时表现为详情页 404、分类页打不开。宝塔用户在站点设置的伪静态里填入苹果CMS 对应的规则保存即可;自己维护配置文件的,把规则写进 server 块的 location 段。改完规则后强刷浏览器再验证,别把缓存旧页面当成没生效。具体规则写法与各方案差异,参考站内伪静态方案对比(wjingtai-fangan),以及图文教程苹果CMS伪静态怎么设置。有个快捷验证方法:访问一个不存在的详情地址,返回程序自己的 404 页面说明 rewrite 已通,返回 Nginx 默认 404 则说明请求根本没进 index.php。

静态资源与缓存头

海报、CSS、JS 这类静态资源,建议在 Nginx 层直接设置过期时间,例如图片类 expires 7d,能明显降低重复访问的压力。同时开启 gzip 压缩,对 HTML 与 CSS 文本的传输体积收益很大,移动端用户感知明显。注意不要对 index.php 动态请求设置浏览器缓存,否则更新了内容用户看到的还是旧页面,这类问题排查起来非常绕。gzip 压缩级别不必拉满,中档配置在处理器消耗与体积收益之间最划算,级别越高省下的带宽越抵不过多耗的计算资源。

安全相关配置

三条实用配置:一是禁用上传目录的 PHP 执行权限,防止被传了恶意文件直接执行;二是对后台路径加访问限制,至少不把它列入任何公开链接;三是屏蔽明显的恶意扫描路径,减少日志噪音。这些配置挡住的是最常见的自动化攻击,配合程序侧的权限管理才是完整防线。站点整体的安全防护思路,可参考采集接口安全防护(jiekou-fanghu)。改这些规则后同样先 nginx -t 再生效,规则写宽了可能把正常静态资源一并拦下,前台海报全部裂图是最常见的误伤表现。

改配置的习惯

Nginx 配置改错的代价是整站 502 或直接拒绝服务,所以养成两个习惯:每次改动前备份原配置;改完先 nginx -t 测试语法再 reload,不要直接 restart 赌运气。线上出问题时,先回滚到上一版配置恢复服务,再慢慢查原因,别让访客陪你调试。配置文件建议纳入备份流程,与站点数据一起定期留存,参考备份迁移方案(beifen-qianyi)。

相关阅读

Nginx 只是运行环境的一层,程序与环境的整体关系可先读苹果CMS 词条(pingguocms)与苹果CMS V10(maccmsv10)档案。

相关词条:伪静态方案对比、苹果CMS、采集接口安全防护