Node.js 使用Iisnode在IIS中运行Ghost

Node.js 使用Iisnode在IIS中运行Ghost,node.js,iis-7.5,iisnode,ghost,Node.js,Iis 7.5,Iisnode,Ghost,我很难让斯诺德和鬼魂一起玩 我可以通过node命令行运行iisnode提供的示例,并且可以启动ghost并正常运行。我跟踪了我能找到的每一篇在线博客文章,以便将它们组合起来。令人沮丧的是博客让这个过程看起来非常简单 从ETW日志来看,iisnode似乎无法使用命名管道与节点进程通信iisnode计划重试与node.exe进程x20+的命名管道连接,然后节点进程终止 问题可能不在于ghost,tbh我不知道该做什么或下一步调整哪个部分。在这一点上,我的最佳猜测是某种权限问题,但我花了数小时在我的开

我很难让斯诺德和鬼魂一起玩

我可以通过node命令行运行iisnode提供的示例,并且可以启动ghost并正常运行。我跟踪了我能找到的每一篇在线博客文章,以便将它们组合起来。令人沮丧的是博客让这个过程看起来非常简单

从ETW日志来看,iisnode似乎无法使用命名管道与节点进程通信iisnode计划重试与node.exe进程x20+的命名管道连接,然后节点进程终止

问题可能不在于ghost,tbh我不知道该做什么或下一步调整哪个部分。在这一点上,我的最佳猜测是某种权限问题,但我花了数小时在我的开发机器上设置权限,但都没有用


如果有帮助,我在浏览器中返回的错误消息是:错误:代码:每次启动服务器时都有错误。

为了回答我自己的问题,我逐行检查了node.exe的进程监视器输出,以查看是否有任何奇怪的情况。我不是分析Process Monitor输出的专家,有大量缓冲区溢出消息和其他可能是错误的东西,但我碰巧发现了以下几行:

Node.exe CreatePipe \MyProjects\WebsiteName\process.env.port\ INVALIDDEVICEREQUEST
无效设备

然后硬币终于掉了下来。在config.js中,您不希望将端口设置为“process.env.port”,正如在config.js文件中建议的那样,您希望将端口设置为process.env.port

没有引用。

只是为了澄清,这里是我的工作配置js的摘录:

请注意底部的行port:process.env.port


您还可以通过config.example.js文件搜索iisnode以获取更多信息。

Wow@ruethewhirl551您救了我的命。我也犯了那个错误。谢谢
config = {
    production: {
        url: 'http://my-blog.com',
        mail: {
            transport: 'SMTP',
            options: {
                service: 'Mailgun',
                auth: {
                    user: 'postmaster@my-blog.com',
                    pass: '9ed512da012cd454376947365xd71793'
                }
            }
        },
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
            },
            debug: false
        },

        server: {
            host: '127.0.0.1',
            port: process.env.PORT // <-- HERE
        }
    },

    // ...