我正在为python中的化学建模进行一些机器学习。我需要运行一个java应用程序(从命令行到python subprocess.call)和一个python webserver。这是否可以在AWS EC2上使用?
我目前在Mac上运行此设置,但我很好奇如何在aws上设置它。
提前致谢!
答案 0 :(得分:0)
由于您只是对Java应用程序进行命令行调用,因此阻力最小的路径就是使用ssh从另一台服务器进行调用。您可以使用subprocess.call
轻松调整您一直使用的命令,以使用ssh - 或多或少,subprocess.call(['ssh', '{user}@{server}', command])
(虽然可以很方便地找出引号)。顺便说一下,我通常会发现使用'-o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null'可以稳定我环境中的脚本化SSH调用。
更复杂的是设置环境以正确运行所需的组件。您需要设置ssh配置,以便您的django应用程序可以进行ssh over和设置 - 可能使用私钥验证。然后,您需要确保设置EC2安全组以允许ssh访问端口22上的Java服务器,默认情况下sshd
监听。
这些都不是那么毛茸茸,但同样的,将Java服务包装在您的Django应用程序可以访问的HTTP服务器中可能更稳定。无论如何,希望这是有帮助的。