httpd虚拟主机configuration(含光油) – 1个服务器/多个域

我一直在阅读有关这个​​主题的多个问题,但我似乎无法得到它的工作…

我有一台运行CentOS的服务器,HTTPD在默认的httpd root下运行1个网站:

Listen 8080 DocumentRoot "/var/www/html" <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>` 

我也运行Varnish:Varnish正在侦听端口80,并将请求转发到正在侦听端口8080的httpd

现在我想在这台服务器上运行第二个域,所以我在/ etc / httpd / conf /下面添加了一个.conf文件,内容如下:

 <VirtualHost *:8080> ServerAdmin root@localhost DocumentRoot /var/www/vhosts/domainx.be ServerName domainx.be ErrorLog logs/domainx-error_log CustomLog logs/domainx-access_log common </VirtualHost> 

当我应用以上时,所有stream量(包括根域的stream量)都被路由到domainx。 当我将vhost的端口改为80时,domainx会被转发到根主机。

这是我第一次没有像安装Webmin的Plesk这样做,所以我不知道从哪里去这里….

  • 为您的网站创build一个指向文档根目录的虚拟主机。 请记住添加NameVirtualHost *:8080

  • 将后端configuration放在一个文件中,然后根据请求的主机名将其包含在内:

        if(req.http.Host ==“domainx.be”){
           包括“/etc/varnish/domainx.be.vcl”;
        }
    

为每个虚拟主机创build虚拟主机条目,即使是“真实”的网站,也不要忘记包含ServerName。 这应该修复你的Apache安装程序。

就我个人而言,我也总是在127.0.0.1端口80上运行apache,在公共IP端口80上运行varnish。这样你就不会遇到$ _SERVER vars的问题,思考Varnish在端口8080上运行。