在AWS EC2上部署网站的完整步骤指南

本文详细介绍如何从零开始在AWS EC2实例上部署静态/动态网站,涵盖实例创建、安全组配置、环境搭建及域名绑定等关键步骤。


一、准备工作

  1. AWS账号:访问 AWS官网 注册账号并完成信用卡绑定

  2. 本地工具

    • SSH客户端(Mac/Linux自带终端,Windows推荐使用PuTTY)

    • 网站代码文件(准备好HTML/CSS/JS或后端项目文件)


二、创建EC2实例

步骤1:进入EC2控制台

  1. 登录AWS控制台,搜索栏输入"EC2"

  2. 点击 Launch Instance 启动新实例

步骤2:选择AMI(系统镜像)

  • 推荐选择:

    • Amazon Linux 2023 AMI(适合新手)

    • Ubuntu Server 22.04 LTS(熟悉Linux用户)

步骤3:选择实例类型

  • 免费套餐用户选择 t2.micro(1vCPU,1GB内存)

  • 生产环境根据需求选择更高配置

步骤4:配置实例详细信息

  • 保持默认设置,滚动到页面底部

步骤5:添加存储

  • 默认8GB SSD(根卷),可根据需求增加到30GB(免费层上限)

步骤6:配置安全组(关键步骤)

  • 添加以下规则:

    类型协议端口范围来源
    SSHTCP22My IP
    HTTPTCP800.0.0.0/0
    HTTPSTCP4430.0.0.0/0

步骤7:密钥对创建

  1. 选择 Create new key pair

  2. 输入密钥名称(如my-ec2-key

  3. 点击下载.pem文件并保存到安全位置

步骤8:启动实例

  • 点击 Launch Instance,等待状态变为"Running"


三、连接到EC2实例

通过SSH连接(Mac/Linux)

chmod 400 my-ec2-key.pem  # 修改密钥权限
ssh -i "my-ec2-key.pem" ec2-user@<你的公有IP> 

Windows用户使用PuTTY

  1. 使用PuTTYgen将.pem转换为.ppk格式

  2. 在PuTTY中配置:

    • Host Name: ec2-user@<公有IP>

    • Connection > SSH > Auth 选择.ppk文件


四、安装Web服务器

安装Apache(以Amazon Linux为例)

sudo yum update -y
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd 

验证安装

浏览器访问 http://<EC2公有IP>,应显示Apache测试页


五、部署网站文件

上传静态网站

# 本地终端执行(非EC2)
scp -i "my-ec2-key.pem" -r ./website/* ec2-user@<公有IP>:/var/www/html/ 

动态网站部署(以Python为例) 

# 安装Python环境
sudo yum install python3-pip -y
pip3 install flask gunicorn

# 克隆代码仓库
git clone https://github.com/your/repo.git


六、配置域名(可选)

  1. 在域名注册商处添加A记录:

    • 记录类型:A

    • 值:EC2实例的公有IPv4地址

  2. 等待DNS解析(通常需要几分钟到几小时)


七、高级配置建议

  1. 弹性IP:防止实例重启后IP变更

    • EC2控制台 > Elastic IPs > Allocate new address

  2. HTTPS配置

# 使用Certbot获取SSL证书
sudo snap install certbot
sudo certbot --apache 

 

自动启动: 

sudo systemctl enable httpd  # Apache开机启动 


八、验证部署

  1. 本地浏览器访问 http://你的域名 或 http://<EC2公有IP>

  2. 检查页面内容是否正确显示

  3. 测试网站功能是否完整


常见问题排查

  1. 无法访问网站

    • 检查安全组是否开放80/443端口

    • 确认httpd服务运行 sudo systemctl status httpd

权限问题: 

sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www 

磁盘空间不足: 

df -h  # 查看磁盘使用 


注意事项

  • 测试完成后及时停止实例避免产生费用

  • 定期备份重要数据到S3

  • 建议为生产环境配置负载均衡和自动扩展组


通过以上步骤,您已成功在AWS EC2上部署网站。建议结合CloudFront和S3实现更高性能的静态资源托管。 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值