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.

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

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作