在一台Apache服务器上的单独vhost中运行Apache mod_php和mod_fastcgi

时间:2015-09-08 23:26:50

标签: php apache virtualhost mod-fastcgi mod-php

所以,我需要在一台服务器上运行多个php应用程序/站点。一个或多个应该使用apache和mod_php5运行,一个或多个应该能够使用mod_fastcgi和php-fpm运行。 mod_php5目前很好,如果我禁用mod_php5,fastcgi就可以了,但我很难让它们同时工作。

我认为这可以通过在apache中使用文件匹配,if.mod_fastcgi和if.mod_actions的某种组合来实现,但我无法弄清楚它是什么。如果需要,我们可以安装所需的任何apache模块。

如果有不同版本的vhost用于Apache 2.2或更低版本且你也有这个片段,或者至少知道我应该做什么,那么超级奖励积分

我不会发布我拥有的整个虚拟主机,因为我知道它们是错的,但是第一个默认的基于mod_php的虚拟主机看起来像是......

#NameVirtualHost 127.0.0.1:80     < Apache 2.2 or less    
 <VirtualHost 127.0.0.1:80>
   ServerAdmin webmaster@localhost
   ServerName some.site.tld
   DocumentRoot /var/www/some/site/
   <Directory /var/www/some/site/>
     Options Indexes FollowSymLinks MultiViews
     Require all granted
#               Order deny,allow     < Apache 2.2 or less
#               Allow from all     < Apache 2.2 or less
   </Directory>
   ErrorLog /var/log/apache2/error.log
   CustomLog /var/log/apache2/access.log combined
 </VirtualHost>

理想情况下,我希望这些保持不变,如果我们需要更多这些,我们可以添加更多。

我想要的结果是能够使用类似第一个配置的内容放入为mod_php配置的新虚拟主机,并且还可以为快速cgi删除类似于以下内容的虚拟主机。

# NameVirtualHost 0.0.0.0:80  < Apache 2.2 or Less
<VirtualHost 0.0.0.0:80>
   ServerAdmin webmaster@localhost
   ServerName some.application.tld
   DocumentRoot /opt/some/app/dir/
   ErrorLog /var/log/apache2/error.log
   CustomLog /var/log/apache2/access.log combined
   <IfModule mod_fastcgi.c>
     #     php_admin_flag engine off    < I tried to use this to disable PHP
     AddType application/x-httpd-fastphp5 .php
     Action application/x-httpd-fastphp5 /php5-fcgi
     Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi_someapp
     FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi_someapp -socket /var/run/php5-fpm_ptbuild.sock -pass-header Authorization
     <Directory /usr/lib/cgi-bin>
       Options Indexes FollowSymLinks MultiViews ExecCGI
       Require all granted
     </Directory>
     <Directory /opt/some/app/dir/>
       #Options Indexes FollowSymLinks MultiViews ExecCGI
       Require all granted
     </Directory>         
   </IfModule>
#    I tried to use the below alongside mod_php, didnt work
#    <IfModule mod_php5.c>
#        php_admin_flag engine off
#        AddType application/x-httpd-fastphp5 .php
#       <Directory /opt/some/app/dir/>
#               Options Indexes FollowSymLinks MultiViews ExecCGI
#               Require all granted
#       </Directory>
#    </IfModule>
</VirtualHost>

如果您可以发布第二个虚拟主机,或者告诉我我做错了什么,非常感谢。

0 个答案:

没有答案