对于每个开发站点,我希望有一个唯一的端口号。 例如,domain.com:1234
这是我在我的httpd.conf文件中。 在重新启动页面domain.com:1234没有显示在浏览器中。 除了我已经做了什么工作之外,还有什么我需要做的吗?
Listen *:1234 <VirtualHost *:1234> DocumentRoot /var/www/dev_sites/test ServerName domain.com </VirtualHost>
它看起来像是如果我去我的本地主机名(kk.local:1234)它显示。 有什么我需要做的dns吗? 我真的不想每次添加开发网站时都进入godaddy。 有没有办法呢?
将名称/地址映射添加到客户端的hosts
文件应该可以解决开发场景中的名称parsing问题。 如果您的DNS提供商允许,也可以select在DNS中设置通配符logging 。 一旦超出了开发者范围,我强烈build议为它设置适当的DNSparsing。
ServerName不应该包含端口号。 在你的例子中,为每个VirtualHost创build“domain.com”。 在每个VirtualHost位于不同端口的情况下,ServerName指令不需要是唯一的。 你也不需要NameVirtualHost,因为你正在通过端口做虚拟主机(虽然这对包含没有害处)。
作为一个故障排除步骤,确保IPTables完全禁用(假设这是Linux),并通过执行“iptables -L -n -v”来validation。 寻找每个表是空的。 你也可以确保SELinux被禁用; 请参阅您的发行版的文档,了解如何正确执行此操作,因为程序各不相同。 如果发现其中任何一个问题,您可以selectclosures它们,或者正确configuration它们以允许Apache侦听这些端口。
以下是关于基于端口的虚拟主机的Apache 2.2文档的示例: http : //httpd.apache.org/docs/2.2/vhosts/examples.html#ipport
是否有防火墙像iptables阻止它? 如果是这样,closures或更好,但添加一个规则,让1234通过。
你的configuration中是否有这个指令:
NameVirtualHost *:1234
如果你不用你的VirtualHost将永远不会被使用。