2016-01-24 5 views
2

У меня проблема с получением iisnode и призраком, чтобы играть вместе.Запуск призрака в IIS с Iisnode

Я могу запустить образцы, поставляемые с iisnode, и я могу получить призрак вверх и работать нормально через командную строку узла. Я следил за каждым сообщением в блоге, написанным в Интернете, которое я могу найти, чтобы настроить их вместе. Удручающая вещь - блоги делают этот процесс очень простым.

От просмотра журналов «ETW» это выглядит так: iisnode не может связываться с процессом узла с использованием именованных каналов («iisnode запланировал повтор именованного соединения с процессом node.exe» x20 +), а затем процесс узла завершается.

Проблема не может быть связана с призраком, tbh Я не могу решить, что делать или какую часть подстраивать дальше. Мое лучшее предположение на данный момент - это проблема с разрешениями, но я потратил часы на установление разрешений на всем протяжении своей машины разработки безрезультатно.

Если это помогает, сообщение об ошибке, которое я возвращаю в браузере, это: ОШИБКА: (Код: EACCES) Ошибка при запуске вашего сервера.

ответ

3

Чтобы ответить на мой вопрос, я просмотрел вывод Process Monitor для node.exe, по очереди, чтобы увидеть, могу ли я увидеть что-нибудь странное. Я не специалист по анализу выхода из Process Monitor и есть тонны сообщений «Buffer Overflow» и другие вещи, которые могли быть ошибки, но потом я случайно наткнуться на следующей строке:

Node.exe CreatePipe \MyProjects\WebsiteName\process.env.port\ INVALIDDEVICEREQUEST 

Неверное устройство?

Затем пенни наконец упала. В config.js вы не хотите устанавливать свой порт на 'process.env.port' (как это предлагается в файле config.js в качестве комментария), вы хотите установить порт на process.env.port.

Без кавычек.

+1

Wow @ ruethewhirl551 ты спас мне жизнь. Я тоже получал эту ошибку. Благодарю. – Qsprec

1

Просто чтобы прояснить what ruethewhirl551 said, вот выдержка из моих рабочих "config.js":

config = { 
    production: { 
     url: 'http://my-blog.com', 
     mail: { 
      transport: 'SMTP', 
      options: { 
       service: 'Mailgun', 
       auth: { 
        user: '[email protected]', 
        pass: '9ed512da012cd454376947365xd71793' 
       } 
      } 
     }, 
     database: { 
      client: 'sqlite3', 
      connection: { 
       filename: path.join(__dirname, '/content/data/ghost.db') 
      }, 
      debug: false 
     }, 

     server: { 
      host: '127.0.0.1', 
      port: process.env.PORT // <-- HERE 
     } 
    }, 

    // ... 

Пожалуйста, обратите внимание на линию port: process.env.PORT в нижней части.

Вы также можете найти «iisnode» через файл «config.example.js» для получения дополнительной информации.

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

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