Как развернуть угловой универсальный в Plesk общий windows-сервер - PullRequest
0 голосов
/ 04 декабря 2018

Я работаю над Angular 6, внедряющим Angular Universal Rendering, в то время как в производстве Angular Universal работаю на локальной машине, которую я могу легко развернуть и запустить.Но когда я начал развертывать Angular Universal в сервере Windows с общим доступом Plesk, он неожиданно не заработал.Я перешел по нескольким ссылкам, но информации было меньше.Пожалуйста, мне нужна помощь в развертывании Angular Universal Rendering на сервере Windows с общим доступом Plesk.Ценю вашу помощь, ребята!Благодарю вас!это мои шаги:

  1. Я развернул так:

       npm run build:ssr && npm run serve:ssr
    
  2. Я загружаю папку dist на свой хост с такой структурой:

    --root
       --dist(folder)
          --Kabook-Web(folder)
             --server.js
          --Kabook-Web-Server(folder)
       --web.config
       --package.json
    
  3. , затем я включил Node.js на моем сервере и запустил установку NPM.после установки возвращается следующее предупреждение.

       NPM install
       npm notice created a lockfile as package-lock.json. You should commit this file.
       npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
       npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
    

Я не уверен, что они важны или нет?

Я скопировал следующие коды в web.config

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

   <rewrite>
   <rules>
   <rule name="myapp">
   <match url="/*" />
   <action type="Rewrite" url="dist/Kabook-Web/server.js" />
   </rule>
   <!-- Don't interfere with requests for node-inspector debugging -->
   <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
   <match url="^dist/Kabook-Web/server.js\/debug[\/]?" />
   </rule>

   </rules>

   </rewrite>

   <directoryBrowse enabled="true" />

   <iisnode devErrorsEnabled="true" debuggingEnabled="true" loggingEnabled="true" nodeProcessCommandLine="C:\Program Files\nodejs\node.exe" />

, затем скопировал следующий код в server.js, как было объяснено в этой ссылке Plesk Windows развертывает node.js

   app.use(express.static('dist/Kabook-Web'));

, затем я запускаю свой веб-сайт и сталкиваюсь с этой ошибкой в ​​проводнике.

       iisnode encountered an error when processing the request.

       HRESULT: 0x2
       HTTP status: 500
       HTTP subStatus: 1002
       HTTP reason: Internal Server Error
       You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

       In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

       The node.exe process has not written any information to stderr or iisnode was unable
       to capture this information. Frequent reason is that the iisnode module is unable 
       to create a log file to capture stdout and stderr output from node.exe. 
       Please check that the identity of the IIS application pool running the node.js 
       application has read and write access permissions to the directory on the server 
       where the node.js application is located. Alternatively you can disable logging 
       by setting system.webServer/iisnode/@loggingEnabled element of web.config to 'false'.

У меня нетзнать, как это решить.пожалуйста, кто-нибудь, помогите мне ...

...