2015-02-26 3 views
1

Я хочу использовать grunt-contrib-connect для создания сервера под определенным URL-адресом, допустим, http://my.website/. Согласно документации, все, что мне нужно сделать, это просто изменить параметр hostname, но я продолжаю получать сообщение об ошибке: Fatal error: getaddrinfo ENOTFOUND my.website.grunt-contrib-connect - Неустранимая ошибка: getaddrinfo ENOTFOUND my.website - Как настроить собственный URL?

Вот мой Gruntfile.js:

connect: { 

    dev: { 

     options: { 

      keepalive: true, 
      port:  80, 
      hostname: 'my.website', 
      base:  'public' 

     } 

    } 

}, 

Спасибо.

+1

Вы отредактировали файл/и т.д./хосты? – firstdoit

+0

Нет - я думал, что мне не нужно делать это с помощью плагина Grunt. Я думал, что это одно из преимуществ запуска веб-сервера с Node.js против чего-то вроде MAMP. Какой IP-адрес я там добавлю? Просто 'my.website 127.0.0.1'? – goodpixels

+0

Хорошо, добавление '127.0.0.1' в файл hosts отлично работает. Спасибо! – goodpixels

ответ

0

Хосты - это просто «псевдонимы», которые могут использовать другие компьютеры в сети (или ваши собственные!) Для поиска IP-адресов. Ваша машина может даже управлять более чем одним IP-адресом (имея много сетевых интерфейсов). Тем не менее, вы можете слушать только запросы в IP-адресах, которыми вы управляете!

При запуске сервера он привязывается к определенному сетевому интерфейсу (который имеет определенный IP-адрес), в определенном порту и начинает прослушивание.

В вашем случае серверу не удалось разрешить my.website (потому что его действительно не существует) и отказался слушать по этому адресу. Это не один из ваших IP-адресов!

TL; DR: Вы должны добавить нужный хост /etc/hosts (Mac, Linux) и сопоставить его 127.0.0.1, ваш localhost. Теперь, когда сервер запускается, он будет сможет решить этот хост и захватить порт.

Я сожалею, что я не могу вдаваться в много в деталях (я уже забыл все детали!), Но это примерно то :)