Я хочу, чтобы это делал 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
Чтобы расширить ответ Джеффа, вам понадобится что-то вроде этого в вашей конфигурации 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>
Шаг 1. Настройте Apache для Слушать на каждом из портов, которые вы хотите обслуживать.
Шаг 2. Настройте Виртуальный хост конфигурация для каждого порта, который вы хотите обслуживать.
Listen 81
Listen 82
<VirtualHost *:80>
DocumentRoot /var/www1
ServerName mydomain.com
</VirtualHost>
//access -- mydomain.com:80
<VirtualHost *:81>
DocumentRoot /var/www2
ServerName mydomain.com
</VirtualHost>
//access -- mydomain.com:81
<VirtualHost *:82>
DocumentRoot /var/www3
ServerName mydomain.com
</VirtualHost>
//access -- mydomain.com:82