You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8项目基于Laravel Sail部署AWS的服务选型及实施求助

Laravel 8(Docker/Sail)部署到AWS的服务选型与实操步骤

一、推荐服务选型

  • ECS Fargate:托管式容器编排服务,无需维护底层服务器,和你本地Docker/Sail的容器化思路完全匹配,只需定义镜像与资源配置,AWS负责调度运行
  • Amazon RDS MySQL:托管型MySQL数据库,比本地容器运行的数据库更稳定,自带自动备份、故障转移、性能监控,无需自行维护实例
  • Application Load Balancer(ALB):负责将外部流量转发到ECS上的Laravel容器,支持HTTPS配置、流量分发,还可配合ECS实现自动扩缩容
  • Amazon ECR:AWS官方容器镜像仓库,用于存储构建好的Laravel Docker镜像,方便ECS拉取部署

二、具体部署步骤

1. 构建并推送Docker镜像到ECR

因为本地已用Sail跑通项目,已有现成Dockerfile,直接基于此构建生产镜像:

  • 在AWS控制台创建ECR仓库(例如命名laravel-app)
  • 本地执行ECR登录命令(替换为你的AWS区域和账号ID):
    aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-east-1.amazonaws.com
    
  • 构建镜像并打标签:
    docker build -t laravel-app .
    docker tag laravel-app:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/laravel-app:latest
    
  • 推送到ECR:
    docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/laravel-app:latest
    

2. 创建RDS MySQL实例

  • 在AWS控制台创建RDS MySQL实例,选择适合的规格(比如t3.micro用于测试),设置数据库名称、用户名和密码
  • 配置安全组,允许ECS所在VPC访问RDS的3306端口
  • 记录RDS的端点地址、用户名、密码,后续用于配置Laravel数据库连接

3. 配置ECS任务定义与服务

  • 创建ECS集群(选择Fargate类型)
  • 创建任务定义:
    • 启动类型选Fargate,分配合适的CPU和内存(比如0.5vCPU/1GB内存)
    • 添加容器:镜像地址填ECR中的镜像地址,端口映射设置为80:80(对应Laravel容器的80端口)
    • 环境变量:不要硬编码.env内容,用AWS Secrets Manager或Parameter Store存储数据库连接信息、APP_KEY等,在任务定义中引用这些密钥
  • 创建ECS服务:
    • 选择刚才的任务定义,设置服务所需任务数量(比如1个)
    • 关联ALB:选择新建或已有的ALB,配置目标组,将流量转发到容器的80端口

4. 配置ALB与HTTPS

  • 在ALB上配置两个监听:80端口(HTTP)和443端口(HTTPS)
  • 用AWS Certificate Manager(ACM)申请免费SSL证书,绑定到443端口的监听
  • 设置HTTP到HTTPS的强制跳转规则
  • 配置安全组允许外部访问ALB的80/443端口

5. 调整Laravel生产配置

  • 构建Docker镜像时,加入生产环境优化命令:
    RUN php artisan config:cache && php artisan route:cache && php artisan view:cache
    
  • 确保容器内存储目录(比如storage、bootstrap/cache)有正确读写权限,可在Dockerfile中添加:
    RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache
    

6. 测试访问

  • 将你的域名解析到ALB的DNS地址
  • 访问域名,确认Laravel项目正常加载,数据库连接正常(可通过页面或接口测试数据库查询)

内容的提问来源于stack exchange,提问作者James Baker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 06:52:38