doulu6234 2019-02-27 10:39
浏览 53
已采纳

在docker中使用相同代码库的不同服务器

I have a project and I want to up multiple server with different environment locally to have it communicate with each other.

To achieve this, I have tried to up two containers named php-fpm and php-fpm-web. They both share a same codebase. Besides that, I have an Apache2 with the following settings.

<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>

But I receive a 500 Internal Error from Apache2 in the "another.laravel.local".

  • 写回答

1条回答 默认 最新

  • dqyym3667 2019-02-28 01:40
    关注

    To achieve same codebase with different environment, I use

        <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>
    

    So that when the another.laravel.local is loaded, the environment variable would be injected to the php in runtime.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?