无法在Azure Webapp上运行EXE文件

时间:2017-05-05 13:23:28

标签: python node.js azure

我正在尝试从nodejs服务器上运行Azure Webapp上的exe文件。 exe是由PyInstaller的简单python文件创建的。

var exec = require('child_process').exec; 
let cmd = 'hello.exe';
let child = exec(
    cmd, {
        cwd: path_to_exe_file
    },
    function(error, stdout, stderr) {
        if (error === null) {
            res.render('index', { title: stdout });
        } else {
            console.log(error);                
            res.json({
                'status': '400',
                'res': error
            });
        }
    }
);

我的计算机上的一切运行良好但是当我部署到Azure webapp时,结果是一个错误:应用程序无法启动 因为它的并排配置不正确

Error: Command failed: hello.exe The application has failed to start 
because its side-by-side configuration is incorrect. 
Please see the application event log or use the command-line sxstrace.exe
tool for more detail. 
at ChildProcess.exithandler (child_process.js:206:12) 
at emitTwo (events.js:106:13) 
at ChildProcess.emit (events.js:191:7) 
at maybeClose (internal/child_process.js:877:16) 
at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) killed: false, code: 1, signal: null, cmd: 'hello.exe' }

如何解决此问题?感谢

1 个答案:

答案 0 :(得分:1)

  

是的,由于pyinstaller引起的问题。 .Net exe文件怎么样,我可以在Azure Web Apps上的nodejs脚本中运行.Net exe文件吗?

是的,基本上我们可以。它也可以在我的测试项目中使用最简单的.NET控制台exe。

但是我们需要注意一些问题,Azure Web App作为sanbox,有几个严格的限制和限制,并非所有的.NET exe应用程序都可以在Azure Web Apps上执行。有关详细信息,请参阅https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox

此外,根据您的情况,您可以尝试使用WebJobs来运行某些exe应用程序或任务。