问题标签 [iisnode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - node.js 应用程序不使用 iisnode 自动更新
当我对我的 app.js 文件进行更改并保存它时,我的 node.js 应用程序似乎没有自动更新,即使在默认的 60,000 毫秒之后也是如此。我错过了什么吗?
node.js - 使用 IISNode 在 IIS 中托管 nodejs 应用程序时如何启用静态文件(以及较少的支持)
背景:
- 使用 expressjs 的 Nodejs 应用程序。
- 使用 IISNode 托管在 IIS 上
- Nodejs 应用程序位于名为 /myVirtualDirectory 的虚拟目录中
问题:
您想使用 less 提供静态文件或 css,但传递给 nodejs 的 url 是完整的 url,与独立 nodejs 应用程序的预期不匹配。
node.js - IISNode 和 Express 3 产生 http 403.13 错误
我在我的 Win7 机器上本地设置 IIS 7 上的 IISNode。我按照网站上的说明进行操作,样品工作正常。
我在 IIS 管理器中创建了一个新网站和 AppPool 来运行一个全新的 Express 站点外壳。我添加了 web.config 以将 iisnode 模块绑定到我的起始 .js 文件。
当我浏览到默认路由 (/) 时,我收到一个 Http 403.14 错误(服务器配置为不列出目录的内容)。
我试图将 IISNode 示例目录重新映射到我的 Express 应用程序所在的位置,并且发生了同样的错误。
如果我尝试去一个不存在的路线,我会收到 Connect 的 404 错误消息Cannot VERB ROUTE
。
我觉得我错过了一些简单且(希望很明显)的东西。
有没有人遇到过这个,可以给我一些见解?即使我可以检查,在线查看也几乎没有提供任何信息。
javascript - iisnode 和 express
我确信这个问题已经被问了一百万次,但我还没有找到任何解决以下问题的方法。
我有一个使用 nodejs 和 express 运行的基本应用程序。当我在节点中运行应用程序时,默认情况下它会将我发送到我的公用文件夹中的 index.html。即使我没有设置任何路线。我希望这发生。
我已经安装了 iisnode 并在“默认网站”下创建了一个名为“设备”的新应用程序。我把我的应用程序放在那里没有改变。阅读周围我需要用 web.config 整理一些东西,并决定使用这里提到的配置(不是 yaml):
http://tomasz.janczuk.org/2012/05/yaml-configuration-support-in-iisnode.html
当我尝试在浏览器中加载应用程序时,它总是会尝试在我的 app.js 中查找路由并向我抛出消息,例如:
无法获取 /devices/
我真的用这个把头发拉出来,不知道该怎么办!我是否必须在 app.js 入口点内为静态内容设置默认路由?我有以下内容:
但是当我从它的根目录加载应用程序时,它仍然没有把我交给 index.html:
'http://localhost/devices/'
有人能帮我解决这个问题吗?
node.js - 无法启用 Azure Node.js 日志记录
我无法让日志记录为我部署到 Windows Azure 的节点应用程序工作。我正在使用 iisnode.yml 文件选项覆盖 web.config。
这是 yml 文件的内容:
这是被覆盖的 web.config 文件的内容:
我很确定我已经启用了我可以在两者中使用的每个日志记录选项,但是在部署期间以及当我访问典型的日志记录位置http://mysite.com/iisnode/index.html或http://mysite.com/iisnode/我收到 404 错误。
任何帮助或想法将不胜感激。
node.js - 错误:EPERM,Node.js 和 Etherpad Lite 不允许操作
在将Etherpad Lite站点上传到 Azure for Web 站点之前,我试图在我的计算机上启动并运行 IIS,但是当我尝试 ( http://pastebin.com/4rZWbqix ) 时出现此错误:
iisnode 在处理请求时遇到错误。HRESULT:0x2 HTTP 状态:500 HTTP 原因:内部服务器错误
您收到此 HTTP 200 响应是因为 system.webServer/iisnode/@devErrorsEnabled 配置设置为“true”。
除了node.exe进程的stdout和stderr的日志,考虑使用debugging和ETW traces来进一步诊断问题。
node.exe进程生成到stdout和stderr的最后64k输出如下图:fs.js:520 return
Etherpad 的目录中没有 fs.js 文件,所以我认为它是 Node.js 的某个部分有问题。我是 Node.js 的新手,因此我们将不胜感激。
编辑 1:我目前正在研究 Azure 的替代方案,并授予 C:\Users\Matthew 权限。但是有可能以某种方式修改 fs.js 以在 binding.lstat 周围放置一个 try/catch 吗?
编辑2:在玩了一点之后(添加权限有效!),我已经让它工作了。但现在加载 127.0.0.1:81 返回:
iisnode 在处理请求时遇到错误。HRESULT:0x2 HTTP 状态:500 HTTP 原因:内部服务器错误
您收到此 HTTP 200 响应是因为 system.webServer/iisnode/@devErrorsEnabled 配置设置为“true”。
除了node.exe进程的stdout和stderr的日志,考虑使用debugging和ETW traces来进一步诊断问题。
node.exe进程生成到stdout和stderr的最后64k输出如下图所示:
[x1B][33m[2012-10-03 20:28:13.587] [WARN] 控制台 - [x1B][39m未找到设置文件。继续使用默认值!
[x1B][32m[2012-10-03 20:28:14.338] [INFO] 控制台 - [x1B][39mInstalled 插件:
看起来这不是错误,因为输出的是预期的,但它似乎停止在 plugins.formatPlugins() 处。
node.js - iisnode挂起问题
我目前正在使用节点 0.8 和 iisnode 0.1.21。
我在 iisnode 标记下的 web.config 中设置了 nodeProcessCountPerApplication="4" 。
我的应用程序以 4 个节点进程完美启动,但一段时间后挂起。它不会崩溃。
我观察到,一旦任何一个进程开始使用超过 200mb 的内存,就会发生这种情况。有谁知道这是内存问题还是其他问题?
此外,如果我关闭/结束任务管理器中的任何一个进程,每件事都会开始完美运行。
node.js - iisnode 无法处理 http 响应状态行
我在 Windows 2008 R2 和 Node 0.8 上使用 IISnode 0.1.21 x64
我的应用程序使用 4 个线程成功运行。但是一段时间后(比如 3-4 小时),响应不会从 IISnode 发送到客户端,并且用户不会在页面上获得数据(但应用程序的其余部分正在工作)。我尝试在 IISnode 文件夹中创建一个日志,但没有从那里得到任何东西。
如果我从任务管理器中删除一个 node.exe 进程,应用程序就会开始正常工作。又过了几个小时,我又回到了原点。
我得到了 ETW 日志,这就是它显示的内容:
node.js - 使用 Node.js 集群,我如何共享连接?
我有一个 Azure 托管应用程序 (iisnode),它接受来自多个客户端服务的直接连接。此应用程序在各种连接之间传输数据。如果在具有多个 node.js 实例的系统上运行,实际的 TCP 连接将连接到不同的实例。
有没有办法以某种方式将内存中的连接从一个实例“移动”或“共享”到另一个实例?
当然,我可以构建一些实例间通信来路由数据,但我认为应用程序不会扩展,因为它的全部目的是快速移动数据。例如,我将有 4 个实例,每个实例有 100 个连接,并且我将花费与在客户端连接之间移动数据所花费的资源一样多的资源在实例之间移动数据。
node.js - Node.js 本机模块不是有效的 Win32 应用程序错误
尝试为 node.js 制作 Hello World 本机模块
在 VS 2012 中获得了一个带有一个文件的 Win32 项目:
编译成 hello.node。
选项:
- 动态库 (.dll)
- 无公共语言运行时支持
像这样使用它:
它适用于本地机器(win8 x64,节点:0.8.12)
但在远程服务器(windows server 2008 x64,节点:0.8.12,iisnode:0.1.21 x64,iis7)上会抛出此错误:
应用程序引发了未捕获的异常并被终止:错误:
%1 不是有效的 Win32 应用程序。C:\inetpub\test\lib\server\hello.node
在 Object.Module._extensions..node (module.js:485:11)
在 Module.load (module.js:356:32)
在 Function.Module。 _load (module.js:312:12)
在 Module.require (module.js:362:17)
在 require (module.js:378:17)
在 Object. (C:\inetpub\test\lib\server\index.js:32:9)
在 Module._compile (module.js:449:26)
在 Object.Module._extensions..js (module.js:467:10 )
在 Module.load (module.js:356:32)
在 Function.Module._load (module.js:312:12)
我尝试了什么:
使用应用程序池设置(启用 win32 应用程序)没有帮助。
iisnode x86 不安装在 x64 操作系统上。
由于错误无法编译到 x64:错误 2 错误 LNK1112:模块机器类型“X86”与目标机器类型“x64”冲突 C:\derby\hello\build\node.lib(node.exe) hello
有没有人有什么建议?