2015-11-05 42 views
4

我在Ubuntu上运行Apache/2.4.12,并且在/ etc/apache2/sites-available /文件夹中添加了2个.conf文件,并启用了它们。这两个网站都使用相同的Symfony PHP文件。apache2多虚拟主机,但只有第一个作品

aaa.conf

Listen 8080 
<VirtualHost *:8080> 


    ServerName local.aaa.com 
    ServerAlias www.local.aaa.com 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/aaa/web 
    <Directory "/var/www/html/aaa/web"> 
      AllowOverride All 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/aaa_error.log 
    CustomLog ${APACHE_LOG_DIR}/aaa_access.log combined 

</VirtualHost> 

bbb.conf

Listen 8081 
<VirtualHost *:8081> 


    ServerName local.bbb.com 
    ServerAlias www.local.bbb.com 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/bbb/web 
    <Directory "/var/www/html/bbb/web"> 
      AllowOverride All 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/bbb_error.log 
    CustomLog ${APACHE_LOG_DIR}/bbb_access.log combined 

</VirtualHost> 

我遇到的问题是service apache2 reload只有第一个网站后,我打开作品。因此,例如:

1号方案
- 我重装
- 我打开local.aaa.com:8080它的工作原理
- 我打开local.bbb.com:8081它不工作,我得到一个PHP Fatal error: Class 'AppBundle\\AppBundle' not found

第二方案
- 我重装
- 我打开local.bbb.com:8081它的工作原理
- 我打开local.aaa.com:8080它不工作中,我得到一个PHP Fatal error: Class 'AppBundle\\AppBundle' not found

编辑
@Ryan文森特: netstat -a表明这两个网站runnnig

+0

为什么你需要独立的端口,如果你正在运行单独的主机名呢? –

+0

它是一个更大的项目的一部分,我需要遵循此配置 – Coeus

+0

它是否工作,如果你在哪里使用同一个端口?同样,你是说,在每次Apache重新加载后,交替主机开始工作? eit,也许有第三个(默认)虚拟主机接管? –

回答

0

所有你听指令应该被Ubuntu提供的Apache主配置文件(在/ etc/apache2的/ apache2.conf)。

启用网站的文件夹只能包含由a2ensite生成的适当的符号链接,这些符号链接可用于网站,这是您必须放置虚拟主机配置的位置。

将它们移动到那里后,启用每个虚拟主机并重新加载apache。

sudo a2ensite aaa.conf 
sudo a2ensite bbb.conf 
sudo service apache2 reload 
+0

我做了移动,并且在重新加载后尝试加载第二个站点时仍然出现相同的错误。这也是我的坏处,我让他们在网站上可用,但我写了网站启用 – Coeus