node.js - Plesk Windows 部署 node.js
问题描述
我创建了一个以 Node.js 作为后端的 Angular 项目。
这是服务器文件结构:
Home directory
- httpdocs
- node-hm
- dist
- browser(folder)
- server (folder)
- server.js
- package.json
- web.config
我已经设法从 plesk 的 Node.js 菜单中“npm install”。
试着:
- 将应用程序启动文件更改为“dist/server.js”。
- 将文档根目录更改为“node-hm/dist”文件夹。
- 将 dist 文件复制到“node-hm” - 仅加载索引,不会加载 CSS 等其他文件
我错过了什么?
解决方案
在这里找到了答案:
https://talk.plesk.com/threads/use-nodejs-and-problem-with-express-routing.343510/
需要修改 web.config 以提供静态文件
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="myapp">
<match url="/*" />
<action type="Rewrite" url="server.js" />
</rule>
<!-- Don't interfere with requests for node-inspector debugging -->
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^server.js\/debug[\/]?" />
</rule>
</rules>
</rewrite>
并在 server.js 中定义:
app.use(express.static('dist/browser'));
推荐阅读
- python - 当测试没有在 Python 中引发错误时,执行代码的最佳方法是什么?
- c++ - 定义字符串文字
- azure-databricks - 在具有多行数据的 csv 上创建表时出现问题
- perl - Perl 查找另一个数组中存在的一个数组中的缺失元素
- mqtt - Mosquitto 配置日志问题
- java - 如何解析 Thymeleaf 模板以通过电子邮件发送?
- solr - 将所有 Solr 核心数据备份到 SQL 数据库
- sql - SQL 先使用 SUM 然后使用 MAX 函数查找结果集
- r - 查找变量“back”大于 100 的行
- amazon-cloudwatch - 当 GroupDesiredCapacity 接近 GroupMaxSize 时,如何设置可扩展的 ASG CloudWatch 警报,涵盖低/高值的范围?