今天是我尝试使用亚马逊的第二天,我已经开始拉头了。我想用亚马逊设置ftp。我已经注册了他们,并用亚马逊EC2创建了一个实例。我已经下载了密钥,我可以使用我的mac中的直通终端使用ssh登录。我可以通过终端在实例中创建文件。 该实例如下所示: 公共DNS:ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com
我已经通过终端在这个位置创建了一个index.html文件。但我无法使用以下网址在浏览器中查看它: ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com/index.html 我只想在这里创建我将在iPhone中使用的Web服务。
此外,我不确定如何前进。我如何获取本地文件并将其上传到服务器。在其他ftps我可以使用lcd,get,put等,但这些命令在这里不起作用。有人可以帮助我,我该怎么办呢,因为此刻我只是撞到了墙上。有人请帮助我。
感谢
的Pankaj
答案 0 :(得分:8)
使用scp通过ssh复制文件:
scp -i key-pair-file file-to-upload ec2-user@instance-public-DNS:
注意结尾的冒号!
使用普通的EC2实例,您还需要安装某种Web服务器软件来为您的Web服务供电,并打开防火墙中的HTTP端口。
如果您打算用Java编写Web服务,我已经汇总了一系列文章( Part I , Part II , Part III )指导在Amazon Linux EC2实例上安装Apache Tomcat的基础知识。
答案 1 :(得分:3)
编辑2014/11/20
德米特里莱斯科夫实际上是更好的一个。你应该使用他的方法。2012年回答
首先必须在EC2实例上设置LAMP(Linux,Apache,mySQL,PHP)堆栈,以运行任何类型的Web服务。
这意味着你必须通过以下步骤:
如果您需要详细说明,我建议您查看一下:Building EC2 with LAMP。
要将文件传输到EC2实例,您可以使用任何支持SFTP和密钥对的FTP客户端(您还可以启用PasswordAuthentication
以便SSH使用凭据登录)。我正在使用Transmit没有问题。
答案 2 :(得分:-1)
在相关的说明中,我遇到了一个奇怪的问题,我无法通过在apache下运行的PHP脚本进行FTP - 但是如果我从命令行以root身份运行PHP脚本,我就可以了。经过一天的谷歌搜索,我找到了这个,解决了这个问题。
禁用SELinux。 (安全增强型Linux) 临时解决方案是:
echo 0> / selinux / enforce
..这将证明这个概念,但不会在重启后存活下来。有大量资源描述如何永久禁用SELinux。