Как обслуживать приложение NodeJS из ОС IIS / Windows Server Edition без использования iisnode? - PullRequest
0 голосов
/ 18 июня 2020

Итак, я написал приложение NodeJS на Windows с ОС Server Edition. Мое приложение в основном взаимодействует с другим программным обеспечением, установленным в той же системе, путем выполнения некоторых команд с использованием дочернего процесса NodeJS.

Все работает нормально на localhost, так как мой сервер имеет статический c IP, я хочу обслуживать приложение для публикации c. Как я могу сделать это без использования iisnode?

Я пробовал использовать iisnode, но с тех пор у меня возникли проблемы, я могу использовать свой сайт на сервере, но из-за некоторых проблем с разрешениями на диске C Команда cmd выдает ошибку "Доступ запрещен".

1 Ответ

1 голос
/ 18 июня 2020

Вариант 1:

  1. Запустите приложение Node.js с локальной привязкой, например http://localhost:8080 Ссылка
  2. Настройте IIS в качестве обратного прокси Ссылка

iisnode обеспечивает лучший контроль интеграции пула приложений и т. Д., Но поскольку это мертвый проект, вам определенно не следует его больше использовать.

Вариант 2:

Используйте HttpPlatformHandler для запуска приложения Node.js,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httppPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform stdoutLogEnabled="true" stdoutLogFile=".\node.log" startupTimeLimit="20" processPath="C:\Program Files\nodejs\node.exe" arguments=".\app.js">
            <environmentVariables>
                <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
                <environmentVariable name="NODE_ENV" value="Production" />
            </environmentVariables>
        </httpPlatform>
  </system.webServer>
</configuration>

Ссылка

...