为什么Apache不能识别我的VirtualHosts ServerName?

我正试图在硬件崩溃后从备份中重build服务器。 而不是恢复整个图像,我试图结合安装软件,然后从备份恢复configuration文件。 但是Apache2似乎没有遵守我的/ etc / apache2 / sites-enabled / *文件中的“ServerName”指令。 / server-info显示它正在select正确的configuration,但它不显示我的网站,只是/var/www/html/index.html中的默认索引页面。 这里是/ server-info的一个片段:

Module Name: core.c Content handlers: yes 

 Current Configuration: In file: /etc/apache2/apache2.conf 57: LockFile /var/lock/apache2/accept.lock 66: PidFile /var/run/apache2.pid 71: Timeout 300 107: MaxRequestsPerChild 0 136: AccessFileName .htaccess 156: DefaultType text/plain 167: HostnameLookups Off 175: ErrorLog /var/log/apache2/error.log 182: LogLevel warn In file: /etc/apache2/mods-enabled/alias.conf 17: <Directory "/usr/share/apache2/icons"> 18: Options Indexes MultiViews 19: AllowOverride None : </Directory> In file: /etc/apache2/ports.conf 8: NameVirtualHost *:80 In file: /etc/apache2/conf.d/security 27: ServerTokens Full 38: ServerSignature On 49: TraceEnable On In file: /etc/apache2/conf.d/servername 1: ServerName xen1.xcski.com 2: ServerAdmin [email protected] 4: ServerSignature EMail In file: /etc/apache2/sites-enabled/000-default 1: <VirtualHost *:80> 2: ServerAdmin [email protected] 4: DocumentRoot /var/www/html 5: <Directory /> 6: Options FollowSymLinks 7: AllowOverride None : </Directory> 9: <Directory /var/www/html> 10: Options Indexes FollowSymLinks MultiViews 11: AllowOverride None : </Directory> 17: <Directory "/var/www/cgi-bin"> 18: AllowOverride None 19: Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch : </Directory> 80: ErrorLog /var/log/apache2/error.log 84: LogLevel warn 87: ServerSignature EMail : </VirtualHost> In file: /etc/apache2/sites-enabled/rochesterflyingclub.com 2: <VirtualHost *> 3: ServerName rochesterflyingclub.com 4: ServerAlias www.rochesterflyingclub.com 5: ServerAdmin [email protected] 7: DocumentRoot /www/rochesterflyingclub.com/www 8: <Directory /> 9: Options FollowSymLinks 10: AllowOverride None : </Directory> 12: <Directory /www/rochesterflyingclub.com/www/> 13: Options Indexes FollowSymLinks MultiViews Includes 15: AllowOverride FileInfo AuthConfig Limit : </Directory> 20: <Directory "/www/rochesterflyingclub.com/cgi-bin/"> 21: AllowOverride None 22: Options ExecCGI -MultiViews +SymLinksIfOwnerMatch : </Directory> 27: ErrorLog /var/log/apache2/error.log 31: LogLevel warn 34: ServerSignature EMail : </VirtualHost> 

要么取第一个80或重复所有元素。 我认为最具体的地址定义有优先权

检查输出

 apachectl -S 

我想你错过了一个configuration

 Include /etc/apache2/sites-enabled/* 

我相信你需要为虚拟主机定义端口:

 <VirtualHost *:80> ... </VirtualHost> 

放弃一下。 否则,我只是猜测,你有没有试过看你的错误/访问日志,看看这些文件来自哪里? Apache2不难设置。 VirtualHost问题是最常见的错字或破碎的conf格式。