注册
-
注册aws账号(需要信用卡,验证时会扣除1美元或等值的货币)
https://aws.amazon.com/cn/campaigns/nc20241101/ -
选择免费额度的配置来创建一个EC2实例
名称: 任意填写
系统:任意选择 (选择平时常用系统 例如:Ubuntu
)
选择硬件配置(选择默认的免费)
实例类型(默认的t2.mirco
即可)
创建密钥(保存为xxx.pem
,下载到本地, ssh联接用)
创建安全组(允许SSH ✓
,HTTP ✓
,HTTPS ✓
)
配置存储(免费最大30GB) -
确认一下实体配置信息,启动实体
-
进入实体,查看公有IP,进行ssh链接,使用下载到本地的密钥(
xxx.pem
) ,选择Ubuntu的话,默认用户名:ubuntu
-
sudo -i
进入root权限 -
安装Docker
curl -fsSL https://get.docker.com | sh #安装Docker
systemctl enable --now docker #启动Docker服务
docker -v #查看docker版本,检查是否安装成功
docker ps -a #查看docker中所有容器
- 开放端口,设置安全组
Tip
http 的默认端口: 80
https 的默认端口: 433
ssh 的默认端口: 22
telnet 的默认端口: 23
ftp 的默认端口: 20 和 21 , 20负责连接,21负责传输数据
sftp 的默认端口: 22
常见问题
无法ping的解决方案
首先Ping只是向服务器发送ICMP的数据包,如果在服务器的防火墙没有允许ICMP协议的数据包的话,那么即使服务器正常运行,那也是ping不同的。
对于亚马逊云服务器,首先我们要确保实例绑定的安全组允许icmp协议的数据包通过。
进入无法ping通的实例,进入它的安全组,添加ICMP的记录
类型:ICMP 协议:ICMP 端口范围:全部 来源:0.0.0.0/0
通过外网不能访问
外网访问不了的原因不外乎有 2 个:
- 防火墙
- 安全组
防火墙
linux 上的防火墙就是 firewall 了,可以用下面的任意一种方式查看是否开启了防火墙:
firewall-cmd --state
systemctl status firewalld
status iptables.service
安全组
像阿里云、亚马逊的 linux 实例里面都设置有安全组。
安全组起着虚拟防火墙的作用,可控制一个或多个实例的流量。安全组的设置在阿里云或亚马逊的后台里面设置。
比如说我的 AWS EC2 在外网不能访问,就是因为安全组没有对外开启 80 端口。所以只需要在 AWS EC2 后台的安全组里面设置如下规则即可:
类型:http 协议:TCP 端口范围:80 来源:0.0.0.0/0
类型:https 协议:TCP 端口范围:433 来源:0.0.0.0/0