如何在Apache上为不同端口创建虚拟主机?


20

我要apache做这个>

mydomain.com:80  --- opens var/www1
mydomain.com:81  --- opens var/ww2
mydomain.com:82  --- opens var/www3

问题是我不知道这些端口是否在Linux上打开(如何检查?)

如果不是,我该如何在防火墙中打开它们并让Apache收听?

我尝试这样做

> iptables -A RH-Firewall-1-INPUT -m  NEW -m tcp -p tcp –dport 81 -j ACCEPT
iptables v1.3.5: Couldn't load match `NEW':/lib64/iptables/libipt_NEW.so: cannot open shared object file: No such file or directory

我检查了端口...好像httpd在监听...但我不知道为什么我无法打我的URL

> netstat -tulpn | less
tcp        0      0 :::80       :::*      LISTEN      6840/httpd
tcp        0      0 :::81       :::*      LISTEN      6840/httpd
tcp        0      0 :::82       :::*      LISTEN      6840/httpd

Answers:


39

要扩展Jeff的答案,您需要在apache配置中使用类似的内容

Listen 80
Listen 81
Listen 82

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www1
ServerName www.example1.com
</VirtualHost>

NameVirtualHost *:81
<VirtualHost *:81>
DocumentRoot /var/www2
ServerName www.example2.org
</VirtualHost>


NameVirtualHost *:82
<VirtualHost *:82>
DocumentRoot /var/www3
ServerName www.example3.org
</VirtualHost>

我确实做到了……但是仍然没有爱
qodeninja 2011年

您可以在本地和/或远程远程登录到这些端口中的任何一个吗?
sreimer 2011年

NameVirtualHost与Apache 2.4使用时没有任何效果
瓦希德·阿米里

NameVirtualHost似乎对我有影响,并且我正在使用Apache 2.4:如果没有NameVirtualHost,则“ <VirtualHost *:number>”不足以阻止VirtualHost在其他端口上应答。
rsethc '18

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.