如何在亚马逊的单个实例中部署两个PHP应用程序

时间:2018-05-07 16:48:05

标签: php amazon-web-services symfony github travis-ci

我最近开始使用AWS服务。

我在EBS上运行了一个symfony 3应用程序 - 使用单个EC2实例(使用Linux AMI)配置了EIP并可供客户端公开访问。我已经通过与Github建立管道并通过Travis-CI推送代码将其部署到EBS。

我想在同一个实例中运行另一个PHP应用程序 - OSTicket(而非托管),以便EBS公共URL可以作为子域访问它。 如何在保持持续集成的同时实现这一目标?

2 个答案:

答案 0 :(得分:0)

您可以在名为site1和site2的/ var / www / html文件夹中创建2个目录。 导航到文件夹/ etc / apache2 / sites-available。

中的000-default.conf文件

使用不同的端口号添加第二个网站的目录,其值为virtualhost。

然后转到apache2目录下的ports.conf文件并添加Listen

这将帮助您在同一个EC2实例上运行2个不同的PHP应用程序。

答案 1 :(得分:0)

如果您使用的是apache,则需要设置基于名称的虚拟主机条目。 (nginx有类似的东西)

然后你可以有两个不同的配置,指向不同的docroots,如下所示:

<VirtualHost *:80>
  ServerName site1.example.com

  DocumentRoot /var/www/html/site1
  DirectoryIndex index.php

  ErrorLog logs/site1_error.log
  CustomLog logs/site1_access.log
  <Directory "/var/www/html/site1">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName site2.example.com

  DocumentRoot /var/www/html/site2
  DirectoryIndex index.php

  ErrorLog logs/site2_error.log
  CustomLog logs/site2_access.log
  <Directory "/var/www/html/site2">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>