在Docker中使用相同代码库启动其他服务器

时间:2019-02-27 10:39:55

标签: php apache docker docker-compose

我有一个项目,我想在本地建立具有不同环境的多台服务器,以使其相互通信。

为实现这一点,我尝试建立两个名为php-fpm和php-fpm-web的容器。它们都共享相同的代码库。除此之外,我还有一个具有以下设置的Apache2。

<VirtualHost *:80>
  ServerName laravel.local
  DocumentRoot /var/www/laravel/public

  <Directory "/var/www/laravel/public">
   ...
  </Directory>

</VirtualHost>

<VirtualHost *:80>
  ServerName another.laravel.local
  DocumentRoot /var/www/laravel/public

  <Directory "/var/www/laravel/public">
   ...
  </Directory>

  <FilesMatch \.php$>
      # Apache 2.4.10+ can proxy to unix socket
      SetHandler "proxy:php-fpm-web:9000|fcgi://localhost/"
  </FilesMatch>

</VirtualHost>

但是我从Apache2的“ another.laravel.local”中收到500内部错误。

1 个答案:

答案 0 :(得分:0)

为了在不同的环境中实现相同的代码库,我使用

    <VirtualHost *:80>
        ServerName another.laravel.local
        DocumentRoot /var/www/laravel/public

        <Directory "/var/www/laravel/public">
        ...
        </Directory>

        <FilesMatch \.php$>
           SetEnv DB_DATABASE "db_name"
           SetEnv DB_USERNAME "user"
        </FilesMatch>

    </VirtualHost>

以便在加载another.laravel.local时,环境变量将在运行时注入到php中。