当前位置: 首页 > news >正文

在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实现更高性能的静态资源托管。 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • idea版的cursor:Windsurf Wave 7
  • 嵌入式硬件常用总线接口知识体系总结和对比
  • 曲线与曲面的绘制
  • golang 在windows 系统的交叉编译
  • KWDB创作者计划— KWDB技术范式革命:从数据存储到认知进化的架构跃迁
  • Windows 11 LTSC 安装 闹钟和时钟
  • Hutool工具包中`copyProperties`和`toBean`的区别
  • Python自动化测试框架及工具详解
  • Docker学习与实践
  • 【C++教程】进制转换的实现方法
  • Docker的部署和基本操作
  • 2024团体程序设计天梯赛L3-1 夺宝大赛
  • 【ROS2】行为树 BehaviorTree(二):传递参数(黑板和端口)
  • day28图像处理OpenCV
  • 服务器本地搭建
  • FPGA_UART
  • 刷题记录(3)C语言中的字符
  • LlamaIndex学习
  • Fiddler为什么可以看到一次HTTP请求数据?
  • 项目班——0408
  • 根据学习教育安排,上海市委中心组专题学习总书记力戒形式主义官僚主义重要论述
  • 一周观展|上海,一系列特展大展渐次呈现
  • 美国多地举行抗议活动,特朗普经济政策支持率创新低
  • 申花迎来中超三连胜,这一次终于零封对手了
  • 美伊就核问题在罗马开展第二轮间接谈判
  • 观察|美军在菲律宾部署新导弹,试图继续构建“导弹链”