子进程在开发环境中工作(通过LocalHost),但是一旦部署到IIS就会失败

时间:2019-06-03 21:58:55

标签: node.js iis iisnode

我有一个Web界面,当用户单击按钮时,该界面会调用服务器上的一些批处理文件。使用localhost可以正常工作:但是将应用程序部署到IIS后失败。我已经四处搜寻,似乎找不到解决方法,所以我希望这里有人可以帮助我。

我尝试过的内容

在IIS中,我转到“编辑权限”>“安全性”选项卡>“ IIS_IUSRS”,并尝试完全控制该组。

我还认为这可能是“应用程序池”问题,然后转到“高级设置”并尝试更改应用程序池值。这里也没有运气。出于记录的考虑,我没有尝试将其更改为.NET v4.5(常规或经典),因为它不是.NET应用程序(只是NodeJS,Express和PUG)。

我还尝试将命令包装在其他引号中,例如

XokzhoQlYFGG7ZfTNqdvr0QGMsFF24oSZ5v+vsPDNlPA+GbJ2peAY/7pNhpOerOV 

这也不起作用。

因此,为了使该问题保持清晰(并且没有冗长的代码行),我认为我将提供一个简单的示例。部署在IIS上后,如何使以下各项起作用:

'"D:/path/to/batch-file"'

var { exec } = require('child_process');
    exec('"D:/path/to/batch.bat"', (err, stdout, stderr) => {
    if (err) {
      console.error(err);
      return;
    }
        console.log(stdout);
    });

最后,如果您知道在Windows中甚至不使用IIS即可部署应用程序的任何其他方法,请在此处提出这些建议。我考虑过PM2,但仍然需要一种方法来部署应用程序吗?同样,目标是使应用程序可以从服务器外部访问。

0 个答案:

没有答案