一个Dotcloud PHP服务上的多个主机的配置


Configuration for multiple hosts on one Dotcloud PHP service

我正在DotCloud上创建一个应用程序,希望在该应用程序中使用同一PHP服务托管多个网站。我已经有一个网站在运行,该网站的"approt"设置在我的dotcloud.yml文件中我的代码库的子文件夹中。

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

如何配置我的dotcloud.yml文件和nginx.conf文件,使其在同一PHP服务的一个子文件夹(我目前的做法)上有一个别名点,并在另一个子文件夹上(完全不同的站点和域)有第二个别名点?

不确定这是否正是您想要的,但是。您可以有一个带有多个服务的dotCloud.yml,每个服务指向不同的方法。

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是否有类似的东西。