Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
azure上的prerender.io node.js prerender服务器_Node.js_Azure_Prerender - Fatal编程技术网

azure上的prerender.io node.js prerender服务器

azure上的prerender.io node.js prerender服务器,node.js,azure,prerender,Node.js,Azure,Prerender,我在Azure网站上设置prerender.io渲染服务器时遇到问题 我在VS2015中创建了一个空白的Node.js Azure项目,Node.js服务器启动良好,并在本地呈现内容良好 问题是,当我部署到Azure时,我收到一个内部服务器错误,如下所示: Application has thrown an uncaught exception and is terminated: Error: write ENOTSUP at exports._errnoException (util

我在Azure网站上设置prerender.io渲染服务器时遇到问题

我在VS2015中创建了一个空白的Node.js Azure项目,Node.js服务器启动良好,并在本地呈现内容良好

问题是,当我部署到Azure时,我收到一个内部服务器错误,如下所示:

Application has thrown an uncaught exception and is terminated:
Error: write ENOTSUP
    at exports._errnoException (util.js:874:11)
    at ChildProcess.target._send (internal/child_process.js:606:18)
    at ChildProcess.target.send (internal/child_process.js:507:12)
    at sendHelper (cluster.js:699:8)
    at send (cluster.js:501:5)
    at cluster.js:477:7
    at SharedHandle.add (cluster.js:82:3)
    at queryServer (cluster.js:469:12)
    at Worker.onmessage (cluster.js:425:7)
    at ChildProcess.<anonymous> (cluster.js:713:8)
var prerender = require('./lib');

var server = prerender({
    workers: process.env.PRERENDER_NUM_WORKERS,
    iterations: process.env.PRERENDER_NUM_ITERATIONS
});


server.use(prerender.sendPrerenderHeader());
// server.use(prerender.basicAuth());
// server.use(prerender.whitelist());
server.use(prerender.blacklist());
// server.use(prerender.logger());
server.use(prerender.removeScriptTags());
server.use(prerender.httpHeaders());
// server.use(prerender.inMemoryHtmlCache());
// server.use(prerender.s3HtmlCache());

server.start()
应用程序引发了未捕获的异常并被终止:
错误:写入ENOTSUP
导出时出现异常(util.js:874:11)
在ChildProcess.target.\u发送(internal/child\u process.js:606:18)
在ChildProcess.target.send(内部/child_process.js:507:12)
在sendHelper(cluster.js:699:8)
发送时(cluster.js:501:5)
在cluster.js:477:7
在SharedHandle.add(cluster.js:82:3)
在queryServer上(cluster.js:469:12)
在Worker.onmessage(cluster.js:425:7)
在这个过程中。(cluster.js:713:8)
从这个错误中,我只能怀疑请求和集群机制存在问题。我通过电子邮件发送了prerender.io,以了解他们是否了解正在发生的事情。我也在网上到处搜索,但似乎找不到任何类似的问题作为参考


所有node.js项目默认值保持不变。我只将prerender.io node.js代码导入到vs2015项目中。正如我所指出的,它在本地工作。

通过测试,我发现我可以使用powershell在本地和Azure网站上运行prerender.IO

我安装了包并使用了server.js代码,如下所示:

Application has thrown an uncaught exception and is terminated:
Error: write ENOTSUP
    at exports._errnoException (util.js:874:11)
    at ChildProcess.target._send (internal/child_process.js:606:18)
    at ChildProcess.target.send (internal/child_process.js:507:12)
    at sendHelper (cluster.js:699:8)
    at send (cluster.js:501:5)
    at cluster.js:477:7
    at SharedHandle.add (cluster.js:82:3)
    at queryServer (cluster.js:469:12)
    at Worker.onmessage (cluster.js:425:7)
    at ChildProcess.<anonymous> (cluster.js:713:8)
var prerender = require('./lib');

var server = prerender({
    workers: process.env.PRERENDER_NUM_WORKERS,
    iterations: process.env.PRERENDER_NUM_ITERATIONS
});


server.use(prerender.sendPrerenderHeader());
// server.use(prerender.basicAuth());
// server.use(prerender.whitelist());
server.use(prerender.blacklist());
// server.use(prerender.logger());
server.use(prerender.removeScriptTags());
server.use(prerender.httpHeaders());
// server.use(prerender.inMemoryHtmlCache());
// server.use(prerender.s3HtmlCache());

server.start()
然后,我在Azure Web App服务上部署了这个项目。我使用powershell在kudu面板中运行server.js,如下图所示:


还有一个问题,你用的是哪个版本?我使用的node.js版本是V4.2.3。

通过测试,我发现我可以使用powershell在本地和Azure网站上运行prerender.IO

我安装了包并使用了server.js代码,如下所示:

Application has thrown an uncaught exception and is terminated:
Error: write ENOTSUP
    at exports._errnoException (util.js:874:11)
    at ChildProcess.target._send (internal/child_process.js:606:18)
    at ChildProcess.target.send (internal/child_process.js:507:12)
    at sendHelper (cluster.js:699:8)
    at send (cluster.js:501:5)
    at cluster.js:477:7
    at SharedHandle.add (cluster.js:82:3)
    at queryServer (cluster.js:469:12)
    at Worker.onmessage (cluster.js:425:7)
    at ChildProcess.<anonymous> (cluster.js:713:8)
var prerender = require('./lib');

var server = prerender({
    workers: process.env.PRERENDER_NUM_WORKERS,
    iterations: process.env.PRERENDER_NUM_ITERATIONS
});


server.use(prerender.sendPrerenderHeader());
// server.use(prerender.basicAuth());
// server.use(prerender.whitelist());
server.use(prerender.blacklist());
// server.use(prerender.logger());
server.use(prerender.removeScriptTags());
server.use(prerender.httpHeaders());
// server.use(prerender.inMemoryHtmlCache());
// server.use(prerender.s3HtmlCache());

server.start()
然后,我在Azure Web App服务上部署了这个项目。我使用powershell在kudu面板中运行server.js,如下图所示:

还有一个问题,你用的是哪个版本?我使用的node.js版本是V4.2.3

您是否运行了他们的中间件或渲染服务器?我试图运行渲染服务器,当时我在节点6.2上。我在一个紧迫的期限内完成了一个项目,所以我们走了VM的路

感谢您的帖子提出此问题,我想确认Azure web app当前不支持Prerender,因为Prerender使用不支持命名管道连接的群集模块,而Azure web app使用命名管道连接将iis与node.exe连接。我们将继续研究这个问题,并在找到解决方法和解决方案后更新此线程。如果您有任何进一步的问题,请随时告诉我

您是否运行了他们的中间件或渲染服务器?我试图运行渲染服务器,当时我在节点6.2上。我在一个紧迫的期限内完成了一个项目,所以我们走了VM的路


感谢您的帖子提出此问题,我想确认Azure web app当前不支持Prerender,因为Prerender使用不支持命名管道连接的群集模块,而Azure web app使用命名管道连接将iis与node.exe连接。我们将继续研究这个问题,并在找到解决方法和解决方案后更新此线程。如果您有任何进一步的问题,请随时告诉我。

prerender包/中间件是否与后端的任何服务器通信?如果是这样,可能存在防火墙或连接问题。我猜您正在azure web apps中发布此网站。我确定IISNode不支持群集,正如IISNode作者在此处所述。下面是一个GitHub对话,讨论prerender包/中间件是否与后端的任何服务器通信?如果是这样,可能存在防火墙或连接问题。我猜您正在azure web apps中发布此网站。我确定IISNode不支持群集,正如IISNode作者在此处所述。下面是一个GitHub对话,您是运行了他们的中间件还是渲染服务器?我试图运行渲染服务器,当时我在节点6.2上。我在一个紧迫的期限内完成了一个项目,所以我们选择了虚拟机方式,因为我没有时间开始修改开源项目。有趣的评论。嗨,威尔,你运行了他们的中间件还是渲染服务器?我试图运行渲染服务器,当时我在节点6.2上。我在一个紧迫的期限内完成了一个项目,所以我们选择了虚拟机方式,因为我没有时间开始修改开源项目。不过有意思的评论。