2

我正在 DotCloud 上创建一个应用程序,我想在其中使用相同的 PHP 服务托管多个网站。我已经有一个站点启动并运行,该站点的“approot”设置为我的 dotcloud.yml 文件中代码库的子文件夹。

我猜我需要从 dotcloud.yml 文件中删除我的 approot 定义,然后将每个子文件夹站点的 nginx.conf 设置包装在“服务器”声明中,其中 server_name 设置为我的别名域,root 设置为子文件夹对于那个域。不幸的是,因为我无法向“沙盒”应用程序添加别名,所以我无法在不创建另一个“实时”应用程序的情况下测试这样的配置。

如何将我的 dotcloud.yml 文件和 nginx.conf 文件配置为在一个子文件夹(我当前的 approot)上有一个别名点,并在同一个 PHP 服务上有另一个别名指向不同的子文件夹(一个完全不同的站点和域) ?

4

1 回答 1

0

不确定这是否正是您要寻找的东西。您可以拥有一个 dotCloud.yml,其中包含多个服务,每个服务都指向不同的 approot。

dotcloud.yml

php1:
   type: php
   approot: site_1
php2:
   type: php
   approot: site_2
db:
   type: mysql

然后您可以使用命令行为每个服务分配不同的别名。

$ dotcloud alias add app.php1 www.example1.com

$ dotcloud alias add app.php2 www.example2.com

另外的选择:

如果您将代码编写为多原则,那么您可以查看请求标头中的主机,并从相同的代码库为不同的网站提供服务。Django 在 python 端做到了这一点。不知道 php 是否有类似的东西。

于 2012-08-02T21:29:01.283 回答