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