2008-09-02 5 views
0

Я запускаю WAMP v2.0 на WindowsXP, и у меня есть группа настройки виртуальных хостов в файле http-vhosts.conf.Ошибка: «VirtualHost *: 80 - смешение * портов и не-портов с адресом NameVirtualHost не поддерживается, при этом выполняются неопределенные результаты»

Это работает, но на прошлой неделе, когда я пытаюсь & начала WAMP Я получаю эту ошибку в журнале событий:

VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results.

и сервер не запустится. Я не могу придумать, что изменилось.

Я скопировал файл conf ниже.

NameVirtualHost * 
<VirtualHost *:80> 
    ServerName dev.blog.slaven.net.au 
    ServerAlias dev.blog.slaven.net.au 
    ServerAdmin [email protected] 
    DocumentRoot "c:/Project Data/OtherProjects/slaven.net.au/blog/" 
    ErrorLog "logs/blog.slaven.localhost-error.log" 
    CustomLog "logs/blog.slaven.localhost-access.log" common 

    <Directory "c:/Project Data/OtherProjects/slaven.net.au/blog/"> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride all 
      Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

EDIT: Я хотел добавить, если изменить директиву NameVirtualHosts указать порт, т.е.

NameVirtualHost *:80 

Я получаю эту ошибку:

Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80

ответ

4

NameVirtualHost *:80

I get this error:

Only one usage of each socket address (protocol/network address/port) is normally >permitted. : make_sock: could not bind to address 0.0.0.0:80

Я думаю, что это может быть потому, что у вас есть что-то еще, слушая порт 80. У вас есть другие серверы (или, скажем, Skype)?

(Если бы это было Skype: Снимите галочку «Инструменты> Настройки> Дополнительно> Подключение> Используйте порт 80 и 443 в качестве альтернативы для входящих соединений»)

+0

снимите флажок этой опции – 2013-05-18 07:13:57

0

Ну, это Кажется, проблема заключается в способе (и порядке), в котором вы назначаете порты.

В принципе, *: 80 означает «использовать порт 80 для всех хостов в этой конфигурации». Когда вы это сделаете, Apache пытается связать этот хост с 0.0.0.0:80, что означает, что хост получит каждый отдельный пакет, поступающий на компьютер через порт 80, независимо от того, какой виртуальный хост он должен был использовать. Это то, что вы должны использовать только один раз, и только если у вас есть один хост в этой конфигурации.

Таким образом, если у вас есть одна и та же директива *: 80 на двух хостах в файле конфигурации, сервер не будет загружаться, потому что он попытается дважды привязать 0.0.0.0:80, не выполнив вторую попытку. (в котором объясняется, что «разрешено только одно использование каждого адреса сокета (протокол/сетевой адрес/порт):: make_sock: не удалось привязать к адресу 0.0.0.0:80»).

 Смежные вопросы

  • Нет связанных вопросов^_^