2016-12-01 6 views
1

Я создал API с использованием Loopback. Теперь, когда пришло время разместить его на моей машине с Windows, Googling включил два разных варианта: 1) использование NSSM для создания Сервиса или 2) использование модуля IIS IISNode для размещения API с использованием процесса IIS. Поскольку преимущества использования IIS были слишком сильными, чтобы игнорировать, я выбрал этот вариант.Хостинг Loopback API в IIS с использованием IISNode

В документации на loopback указано, что iisnode может использоваться для размещения loopback api, но затем не дает никаких указаний по этой теме.

Документация Iisnode также содержит несколько очень простых примеров, некоторые из которых основаны на Express (на основе которого работает loopback), но не дает понять, как адаптировать приложение loopback для использования с iisnode. Во всех их упрощенных примерах основной файл узла находится на корневом уровне проекта узла. Однако Loopback сохраняет значение «~/server/server.js». Это не дает понять, где разместить и настроить файл web.config, необходимый для работы iisnode.

Кто-нибудь знает о достойном учебнике или ходу, хотя для размещения проекта Loopback в IIS с помощью iisnode? Все, что я нашел, - это расплывчатые статьи, в которых говорится, что «хорошо ... это должно работать». Кто-нибудь успешно разместил проект loopback с использованием iisnode?

ответ

0

Я не уверен, что вам нужен специальный учебник Loopback, который поможет вам здесь. Вам просто нужно изменить свой Web.config.

Внутри вашего Web.config должен быть обработчик iisnode. Это указывает IISNode, какой файл является основным файлом в вашем проекте. Чтобы направлять трафик на путь к файлу сервера, просто измените атрибут path на обработчик.

<handlers> 
    <add name="iisnode" path="/server/server.js" verb="*" modules="iisnode"/> 
</handlers> 

Я создал несколько различных пошаговые для создания приложения IISNode с курьерским, но они применимы к действительно ничего быть настроена с IISNode.

+0

Да, файл web.config должен указывать на основной файл Loopback. Я пробовал это, но, к сожалению, безуспешно. Может быть, это из-за настройки моего сайта в IIS? Сайт имеет общую HTML-страницу для выгрузки на верхнем уровне. На этом сайте я создал подкаталог «Compass», под которым я хочу разместить Loopback API. Он был в каталоге «Compass», где находится файл web.config. Основываясь на примерах, которые я прочитал, и что вы указали, подкаталог выглядел как подходящее место. Но никакой радости. Я проверил, что iisnode - это установленный модуль. Но, я попробую снова tonite. – user3356792

0

Убедитесь, что вы следуете этой небольшой чек. Loopback хостинг веб-серверов имеет известную проблему (точно не проблема, но функция защиты, которая может опрокинуть на первый раз Deployer):

https://github.com/masonkmeyer/loopback-azure

app.start() вызывается только тогда, когда сервер LoopBack в .js вызывается напрямую. Но веб-серверы, такие как IIS, обычно вызывают основной скрипт, требуя его. Решение, предложенное выше, немного неэлегантно, в том смысле, что оно не гарантирует, что приложение будет вызываться только после того, как загрузка завершит настройку остаточных конечных точек.

В противном случае web.config довольно прямолинейный. Следующие несколько помогли мне с конфигурацией: https://tomasz.janczuk.org/2011/08/using-url-rewriting-with-nodejs.html