# 圣巧依官网 ── 切换 coolcoth.com(Apache → Nginx)部署说明 > 适用:把原 `coolcoth.com` 站点迁移到新域名 `coolcoth.com`,并将 Web 服务由 Apache 切换为 Nginx(宝塔环境)。 > 联系邮箱保持 `service@coolcoth.com`(同属圣巧依公司,未随域名变更)。 --- ## 一、本次改动清单(相对原 coolcoth.com 代码) | 文件 | 改动内容 | 是否需上传替换 | |---|---|---| | `nginx/coolcoth.com.conf` | **新增**:Nginx 完整站点配置(http→https、www 规范、伪静态、安全头、acme) | ✅ 新增(参考/直接用作站点配置) | | `app/Core/Helper.php` | `apply_security_headers()` 改为只输出动态 CSP;通用安全头(HSTS 等)移交 Nginx 层下发,避免重复头 | ✅ 替换 | | `public/robots.txt` | Sitemap 地址改为 `https://coolcoth.com/sitemap.xml` | ✅ 替换 | | `robots.txt`(项目根) | 同上 | ✅ 替换 | | `public/user.ini` | 会话目录改为 `/www/php_session/coolcoth.com/` | ✅ 替换 | | `app/Core/Theme.php` | 联系邮箱(保持 `service@coolcoth.com`,未改) | ❌ 无需替换 | | `install/seed.php` | 联系邮箱(保持 `service@coolcoth.com`,未改) | ❌ 无需替换 | | `.htaccess` / `public/.htaccess` | Apache 规则,Nginx 下不生效,保留无害 | ❌ 无需替换 | > 因站点功能(路由、SEO、后台)基于请求域名自动生成 URL(`site_url()` / `absolute_url()`), > **除上方显式列出的硬编码点外,其余代码无需改动即可适配新域名**。 --- ## 二、宝塔 Nginx 部署步骤 1. **DNS 解析**:`coolcoth.com` 与 `www.coolcoth.com` 均 A 记录指向阿里云 ECS 公网 IP。 2. **建站**:宝塔 → 网站 → 新建站点 `coolcoth.com`(同时添加 `www.coolcoth.com`), - Web 服务:**Nginx** - **运行目录 = `/public`** 3. **站点配置**: - 方式 A(推荐):网站 → 设置 → **配置文件**,整体替换为 `nginx/coolcoth.com.conf` 中的 `server` 块; - 方式 B:只把文件「伪静态区」内容粘到「**伪静态**」框,再用「设置 → 重定向」开启 https + www 跳转。 - ⚠️ 修改 `fastcgi_pass` 的 `php-cgi-74.sock` 为你服务器实际 PHP 版本(如 `php-cgi-80.sock` / `php-cgi-82.sock`)。 4. **SSL**:网站 → SSL → Let's Encrypt,**勾选 `coolcoth.com` 与 `www.coolcoth.com`** → 申请并开启「强制 HTTPS」。 5. **上传代码**:把整站代码传到 `/www/wwwroot/coolcoth.com/`(运行目录为 `public/`), 并用本包内的 `app/Core/Helper.php`、`public/robots.txt`、`robots.txt`、`public/user.ini` 覆盖对应文件。 6. **建会话目录**:服务器上创建 `/www/php_session/coolcoth.com/` 并赋予 PHP 进程写权限(与 `user.ini` 中路径一致)。 --- ## 三、安全头分工(重要) - **通用头**(HSTS / X-Frame-Options / X-Content-Type-Options / Referrer-Policy / Permissions-Policy 等): 由 Nginx 在服务器层用 `add_header ... always` 统一下发,**覆盖静态资源**,不依赖 PHP。 - **严格 CSP**(含每次请求随机 nonce):由 PHP `Helper::apply_security_headers()` 在 `public/index.php` 入口下发。 - 二者不再重复,行为与原 Apache 环境一致。 --- ## 四、验证 - `http://coolcoth.com` / `https://coolcoth.com` / `https://www.coolcoth.com` 均应 301/200 收敛到 `https://www.coolcoth.com`。 - 首页、产品、新闻、后台 `/admin` 正常;`/sitemap.xml` 可访问。 - 用夸克浏览器测试(新域名未被旧拦截规则影响)。 - 浏览器 F12 → Network 查看响应头含 `Strict-Transport-Security`、`Content-Security-Policy`、`X-Frame-Options` 等。 --- ## 五、WWW 策略说明 当前配置延续原 Apache 的「强制 www」策略(所有访问跳到 `www.coolcoth.com`)。 若希望以裸域 `coolcoth.com` 为主,删除 `nginx/coolcoth.com.conf` 中 80 server 的 `www.` 前缀, 以及 443 server 内对 `$host` 的 www 跳转即可。 --- ## 六、旧域名 `coolcoth.com` 若不再使用,请在 DNS / 阿里云释放;其服务器目录可保留或清理。