# CloudDeploy Pro – 服务器配置说明
## 你的部署网站为什么 404?
用户部署后,点”复制”得到的链接形如:
“`
https://你的域名/vhosts/app_xxxxxxxx/
“`
访问这个链接时,服务器需要从 `vhosts/app_xxxxxxxx/` 目录里加载 `index.html`。
但很多服务器默认**不加载子目录的 index.html**,也不允许访问子目录,所以返回 404。
## 解决方案(三重保障)
本版本内置了三重保障,适配所有服务器环境:
### 第一层:服务器目录索引配置
– **Apache 虚拟主机**:`vhosts/.htaccess` 里的 `DirectoryIndex index.html` 让服务器自动加载 index.html
– **Nginx 服务器**:`nginx.conf.example` 里的 `index index.html` 实现同样效果
### 第二层:URL 重写兜底
如果服务器支持 URL 重写(Apache mod_rewrite / Nginx try_files),
当请求的文件不存在或无法直接访问时,自动转给 `vhosts/fallback.php` 处理:
– **Apache**:`.htaccess` 里的 RewriteRule
– **Nginx**:`nginx.conf.example` 里的 try_files
### 第三层:PHP 兜底路由(万能方案)
`vhosts/fallback.php` 是一个纯 PHP 文件,不依赖任何服务器配置。
它接收请求 → 解析路径 → 读取对应文件 → 输出内容。
**只要服务器支持 PHP,部署的网站就一定能访问。**
—
## 各环境使用方法
### 一、Apache 虚拟主机(宝塔/西部数码/阿里云虚拟主机等)
**无需任何操作,直接上传即可。**
`vhosts/.htaccess` 已经配置好:
1. `DirectoryIndex index.html` → 自动加载首页
2. `Options +FollowSymLinks` → 支持自定义域名
3. RewriteRule → 无法直接访问时转给 fallback.php
> 前提:虚拟主机需要开启 `AllowOverride All`(大多数虚拟主机默认开启)。
> 如果你的主机商关闭了 .htaccess 支持,联系客服开启即可。
### 二、Nginx 服务器(VPS / 独立服务器)
1. 复制配置文件:
“`bash
sudo cp nginx.conf.example /etc/nginx/sites-available/clouddeploy
“`
2. 修改配置:
“`bash
sudo nano /etc/nginx/sites-available/clouddeploy
“`
– 修改 `server_name` 为你的域名
– 修改 `root` 为实际路径
– 确认 `fastcgi_pass` 的 PHP-FPM socket 路径
3. 启用站点并重载:
“`bash
sudo ln -s /etc/nginx/sites-available/clouddeploy /etc/nginx/sites-enabled/
sudo nginx -t && sudo nginx -s reload
“`
4. 设置目录权限:
“`bash
sudo chown -R www-data:www-data /var/www/clouddeploy
sudo chmod -R 755 /var/www/clouddeploy
sudo chmod -R 775 /var/www/clouddeploy/vhosts
sudo chmod -R 775 /var/www/clouddeploy/storage
“`
### 三、子目录部署(如 域名/cloud/)
如果应用不在域名根目录而在子目录:
– Apache:`.htaccess` 自动适配,无需额外操作
– Nginx:参考 `nginx.conf.example` 中的”方案二:子目录部署”部分
### 四、极端情况(服务器不支持 .htaccess 也不支持 Nginx 配置)
如果你的服务器既不支持 .htaccess,也没有 Nginx 配置权限(极少数免费虚拟主机),
你可以通过以下 URL 直接访问部署的站点:
“`
https://你的域名/vhosts/fallback.php?site=app_xxxxxxxx&file=index.html
“`
这个方式纯靠 PHP 运行,不依赖任何服务器配置。
—
## 文件清单
| 文件 | 作用 |
|——|——|
| `.htaccess` | 根目录 Apache 配置(安全防护) |
| `vhosts/.htaccess` | 站点目录 Apache 配置(目录索引 + URL重写) |
| `vhosts/fallback.php` | PHP 兜底路由(万能,任何服务器可用) |
| `nginx.conf.example` | Nginx 配置示例(VPS/服务器用) |
—
## 常见问题
**Q: 部署后复制链接打开还是 404?**
A: 按顺序检查:
1. 确认 `vhosts/` 目录下有 `.htaccess` 和 `fallback.php` 两个文件
2. Apache 环境检查是否开启了 AllowOverride(联系主机商)
3. Nginx 环境检查是否按上述步骤配置了 nginx.conf
4. 如果以上都不行,用 `vhosts/fallback.php?site=app_xxx&file=index.html` 格式访问
**Q: 部署的网站 CSS/JS/图片加载不出来?**
A: 这说明 fallback.php 没有被正确调用。确保 .htaccess 或 nginx 配置正确,
让所有 vhosts/ 下的请求都经过 fallback.php。
**Q: 自定义域名绑定后访问不了?**
A: 自定义域名功能依赖服务器的符号链接支持,已在 .htaccess 中开启 `Options +FollowSymLinks`。
Nginx 用户需要确保配置了正确的 root 路径。
点点赞赏,手留余香
共0 人


























暂无评论内容