我对EC2的功能几乎一无所知。我创建了一个Amazon Web Service(AWS)帐户。然后,我启动了一个EC2实例。
现在,我想在此实例中执行Python代码,而且我不知道如何继续。是否有必要在实例中的某处加载代码?还是在Amazon的S3中将其链接到实例?
哪里有指南解释可能的实例用法?在没有用户指导的情况下,我感觉自己像个飞碟的仪表板前的男人。
Answers:
这是一个非常简单的过程,可将Python脚本从本地移动到EC2实例并运行它。
> 1. scp -i <filepath to Pem> <filepath to Py File> ec2-user@<Public DNS>.compute-1.amazonaws.com:<filepath in EC2 instance where you want
> your file to be>
> 2. Cd to to the directory in EC2 containing the file. Type Python <Filename.py> There it executed.
对于那些喜欢逐步展示的东西的人,这是一个具体的例子:
scp -i〜/ Desktop / random.pem〜/ Desktop / hello_aws.py ec2-user@ec2-34-201-49-170.compute-1.amazonaws.com:/ home / ec2-user
您有多种选择。您可以在此处浏览大型AMI库。
您可以导入虚拟机,说明在这里。
这是有关AWS和python的一般文章。
在本文中,作者将使用强烈推荐的django框架为您提供一个更高级的系统,该系统结合了python中的数据存储。
通过Amazon的管理控制台->实例操作->连接启动实例(入门指南中的更多详细信息)
启动基于Java的SSH CLient
插件-> SCFTP文件传输
上载档案
在后台运行文件(末尾带有“&”或使用nohup)
确保选择包含python的AMI,您可以通过在外壳中键入'python'进行检查。如果您的应用程序需要任何非常规的软件包,则必须安装它们。
在Linux ec2实例上运行脚本
我不得不在Amazon ec2上运行脚本并学习了如何做。即使几年前有人问过这个问题,我还是想分享一下今天的情况。
设置EC2并ssh-ing到ec2主机
chmod 400 /path/my-key-pair.pem
(或.cer文件)的必需权限。ssh -i /path/my-key-pair.pem(.cer) USER@Public DNS
(USER数据会根据您启动的操作系统进行更改,有关更多详细信息,请参阅以下段落&&可以在ec2实例页面上获得公共DNS)使用ssh命令连接到实例。您指定私钥(.pem)文件和user_name @ public_dns_name。对于Amazon Linux,用户名是ec2-user。对于RHEL,用户名是ec2-user或root。对于Ubuntu,用户名是ubuntu或root。对于Centos,用户名是centos。对于Fedora,用户名是ec2-user。对于SUSE,用户名是ec2-user或root。否则,如果ec2-user和root不起作用,请与AMI供应商联系。
将脚本克隆到EC2
为了在ec2上运行脚本,我更喜欢将代码作为回购或gist(如果需要保持代码私有)存储在Github上,然后克隆到ec2中。
上面提到的非常容易,而且不容易出错。
运行python脚本
我已经使用RHEL Linux实例,并且已经安装了python。因此,我可以在ssh-ing之后直接运行python脚本来直接托管。这取决于您选择的操作系统。如果尚未安装,请参阅AWS手册。
参考:AWS Doc