为基于 IP 的虚拟主机配置 CentOS Apache 服务器?

为基于 IP 的虚拟主机配置 CentOS Apache 服务器?

我在装有 Apache 的服务器上运行 CentOS 5.6。我需要创建一个“暂存”站点,以便客户可以查看正在进行的开发。我知道这是通过 Apache 虚拟主机完成的。这个文件位于服务器上的哪里?

由于我们在测试服务器上有 1 个 IP 地址,并且我们暂时不想更改域名的 DNS,我该如何设置虚拟主机来解析http://my.ip.addy到我们的测试服务器的 /var/www/html/public 目录?

非常感谢您的指导。

答案1

听起来你正在尝试将域名解析为 IP,并让该 IP 上的计算机做出适当的响应。为此,你需要修改 httpd.conf 文件,该文件/etc/httpd/conf/默认位于。然后在底部添加以下内容:

<VirtualHost *:80> # note the asterisk.
ServerName staging.example.com
DocumentRoot /var/www/html/public
ErrorLog logs/staging.example.com-error_log
</VirtualHost>

您可以ServerName随意输入域名。将 更改为*:80意味着,如果请求发往该 IP,则your.ip.add.ress:80计算机将仅通过提供的 进行响应(您可能也希望如此,但我一般会避免这样做)。ServerName

然后,在客户端,我将修改hosts文件将该域指向测试服务器的 IP。这将允许您导航到该域并到达测试站点。它可能如下所示:

127.0.0.1         localhost loopback
::1               localhost
your.ip.add.ress  staging.example.com

答案2

配置文件是/etc/httpd/conf/httpd.conf你可以使用最小虚拟主机如下,

<VirtualHost X.X.X.X:80>
ServerName staging.example.com
DocumentRoot /var/www/html/public
ErrorLog logs/staging.example.com-error_log
</VirtualHost>

更多信息:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-apache-config.html

相关内容