如何在亚马逊EC2实例中运行代码?

76 投票
4 回答
70413 浏览
提问于 2025-04-16 17:48

我对EC2的运作几乎一无所知。我创建了一个亚马逊网络服务(AWS)账户,然后启动了一个EC2实例。

现在我想在这个实例上运行一段Python代码,但我不知道该怎么做。是不是需要把代码放到实例的某个地方?还是说要先放到亚马逊的S3上,然后再链接到这个实例?

有没有什么指南可以解释一下实例的使用方法?我感觉就像一个人在飞碟的仪表盘前,却没有用户手册。

4 个回答

4
  1. 通过亚马逊的管理控制台启动你的实例,路径是:实例操作 -> 连接(更多细节可以查看入门指南)

  2. 启动基于Java的SSH客户端

  3. 在插件中选择SCFTP文件传输

  4. 上传你的文件

  5. 在后台运行你的文件(在命令末尾加上'&',或者使用nohup命令)

确保选择一个包含Python的AMI(亚马逊机器镜像),你可以在命令行中输入'python'来检查。如果你的应用需要一些特别的包,你需要自己安装它们。

23

你有很多选择。你可以在这里浏览一个很大的AMI库,链接在这里

你也可以导入一个虚拟机,具体的步骤可以在这里找到。

这是一篇关于AWS和Python的一般性文章

在这篇文章中,作者会带你了解一个更高级的系统,使用非常推荐的Django框架结合多个数据存储

29

这里有一个非常简单的步骤,教你如何把你的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.

下面是一个具体的例子,适合喜欢一步一步看的人:

  1. 在你的本地文件夹里,创建一个Python脚本,里面写上以下代码: print("Hello AWS")
  2. 假设你已经设置好了AWS,并且想在EC2上运行这个脚本,你需要用SCP(安全复制协议)把你的文件传到EC2的一个目录里。下面是一个例子:
    - 我存放pem文件的路径是 ~/Desktop/random.pem。
    - 我存放py文件的路径是 ~/Desktop/hello_aws.py
    - 我的公共DNS是 ec2-34-12-888
    - 我想把脚本放在EC2的目录是 /home/ec2-user
    - 所以我在本地终端运行的完整命令是:

scp -i ~/Desktop/random.pem ~/Desktop/hello_aws.py ec2-user@ec2-34-201-49-170.compute-1.amazonaws.com:/home/ec2-user

  1. 现在,使用ssh连接到你的EC2实例,进入到 /home/ec2-user(或者你放文件的地方),然后运行 Python hello_aws.py。

撰写回答