2013-05-14 50 views
0

是卡上配置Apache就可以提供在兩個不同的地點與名稱的虛擬主機:Apache2的多個基於域名的虛擬主機與導軌/機架

http://experimental/ 

http://api.experimental/ 

在一臺機器上這個設置工作正常,並且apache報告這個:

apachectl -D DUMP_VHOSTS 
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 
VirtualHost configuration: 
wildcard NameVirtualHosts and _default_ servers: 
*:*     is a NameVirtualHost 
     default server experimental (/etc/apache2/sites-enabled/00-nowa.conf:3) 
     port * namevhost experimental (/etc/apache2/sites-enabled/00-nowa.conf:3) 
     port * namevhost api.experimental (/etc/apache2/sites-enabled/00-nowa.conf:15) 
Syntax OK 

在第二臺機器上這樣做ES無法正常工作,這兩個URL最終指向第一個應用程序,它是相同的命令的輸出,其具有附加的線:

apachectl -D DUMP_VHOSTS 
apache2: apr_sockaddr_info_get() failed for experimental 
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 
[Tue May 14 15:36:08 2013] [warn] NameVirtualHost *:80 has no VirtualHosts 
[Tue May 14 15:36:08 2013] [warn] NameVirtualHost *:80 has no VirtualHosts 
VirtualHost configuration: 
wildcard NameVirtualHosts and _default_ servers: 
*:*     experimental (/etc/apache2/sites-enabled/00-nowa.conf:3) 
*:*     api.experimental (/etc/apache2/sites-enabled/00-nowa.conf:15) 
Syntax OK 

每個電機的虛擬主機文件是此爲破碎一個:

<VirtualHost *> 
    ServerName experimental 

    RailsEnv production 
    DocumentRoot /home/nowa/nowa_app/nowa/current/public 

    <Directory /home/nowa/nowa_app/nowa/current/public > 
    Allow from all 
    Options -MultiViews 
    </Directory> 
</VirtualHost> 

<VirtualHost *> 
    ServerName api.experimental 

    RackEnv production 

    PassengerMinInstances 2 
    PassengerMaxPoolSize 10 

    DocumentRoot /home/nowa/nowa_app/services/api_gateway/current/app 
</VirtualHost> 

而且工作

<VirtualHost *> 
    ServerName experimental 
    RailsEnv production 
    DocumentRoot /home/nowa/nowa_app/nowa/current/public 
     <Directory /home/nowa/nowa_app/nowa/current/public > 
     Allow from all 
     Options -MultiViews 
     </Directory> 
</VirtualHost> 

<VirtualHost *> 
    ServerName api.experimental 

    RackEnv production 

    PassengerMinInstances 2 
    PassengerMaxPoolSize 10 


    DocumentRoot /home/nowa/nowa_app/services/nowa_api_gateway/current/app 
</VirtualHost> 

爲什麼apachectl -D DUMP_VHOSTS的輸出不同? 我錯過了什麼? :C

回答

2

當被問及對#httpd IRC房間,原來阿帕奇誤解

<VirtualHost *> 

爲一個基於IP的虛擬主機條目,而不是基於一個名稱,將其更改爲這個固定:

<VirtualHost *:80> 

這是因爲了NameVirtualHost是這樣定義的破服務器上:

NameVirtualHost *:80 

完全乾活g config:

<VirtualHost *:80> 
    ServerName experimental 

    RailsEnv production 
    DocumentRoot /home/nowa/nowa_app/nowa/current/public 

    <Directory /home/nowa/nowa_app/nowa/current/public > 
    Allow from all 
    Options -MultiViews 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName api.experimental 

    RackEnv production 

    PassengerMinInstances 2 
    PassengerMaxPoolSize 10 

    DocumentRoot /home/nowa/nowa_app/services/api_gateway/current/app 
</VirtualHost>