7

Tôi đã phát triển một ứng dụng trong Laravel 4 - hoạt động hoàn hảo trên máy cục bộ của tôi với thiết lập Laravel thông thường/điển hình (không có gì bất thường xảy ra ở đây).Triển khai ứng dụng Laravel 4 trên AWS Elastic Beanstalk

Tôi bây giờ muốn triển khai ứng dụng AWS đàn hồi Beanstalk (có thể là trên một máy chủ Linux chút 64 điển hình với php 5.4 được cài đặt)

Câu hỏi của tôi là thế này: tôi cần phải thực hiện bất kỳ thay đổi các tập tin để làm cho ứng dụng sẵn sàng để triển khai?

Ví dụ: có bất kỳ tệp cấu hình nào mà tôi cần tạo không? (Tôi đã đọc về một số loại tệp ứng dụng/config/đàn hồi tại đây: http:://darrennolan.com/2013/02/02/php-aws-elastic-beanstalk-rds-laravel-4-with-migrations-on-updates/)

Tôi chưa từng triển khai trước đó, vì vậy, hãy xem xét chi tiết nhất có thể.

Trả lời

18

Để trả lời câu hỏi của bạn liên quan đến việc cấu hình ứng dụng L4, bạn chắc chắn sẽ tìm thấy những bài viết hữu ích:

L4 cloud deployment problems
Laravel and Elastic Beanstalk

AWS Môi trường cấu hình
Theo câu hỏi của bạn về "một số loại của/app/config/elsatic "thing - Laravel có thể" load "cấu hình khác nhau, dựa trên môi trường nó đang chạy. Bạn có thể thiết lập các thư mục con khác nhau chứa các tệp cấu hình, ví dụ cho máy chủ thử nghiệm và serv sản xuất er. Bằng cách đó, bạn có thể sao chép một cách an toàn các tệp giữa hai máy chủ và không phải thay đổi ví dụ như cơ sở dữ liệu hoặc bản sao cơ sở dữ liệu mỗi khi bạn đồng bộ hóa các tệp. Vì vậy, ở đây trong bài viết bạn đã liên kết, bạn nên tạo một thư mục con cho môi trường AWS để có thể có một tập cấu hình tùy chỉnh sẽ kích hoạt nếu ứng dụng của bạn chạy trên AWS.

cách triển khai ứng dụng Laravel 4 trên AWS
Ở đây bạn có hướng dẫn ngắn. Các hướng dẫn tôi đi qua (nhưng không có thời gian để kiểm tra nó được nêu ra) là dưới đây, nhưng vẫn đọc các bài viết trên đầu tiên. Cảm ơn/props/thanh danh cho các bước dưới đây đi đến codenamegary from the Laravel forum


Cài đặt AWS Command Line Tool trên máy
http://aws.amazon.com/code/6752709412171743
của bạn - Yêu cầu ruby ​​và một vài thứ khác

EC2 - Cài đặt Nhóm bảo mật
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
- Trong EC2 tạo nhóm bảo mật mới
- Quy ước đặt tên là bất cứ điều gì bạn muốn bằng cách thường tôi cố gắng sử dụng một cái gì đó như ...
"app-environment-eb"
- Ví dụ: đối với ứng dụng được gọi là "Blog" trong môi trường sản xuất, tôi gọi nó là "blog-production-eb" nghĩa là ứng dụng blog, trong môi trường sản xuất trên beanstalk đàn hồi
- Trên giấy phép nhóm tất cả HTTP/HTTPS và bất cứ điều gì khác mà bạn có thể cần

RDS - Thiết lập một bảo mật Group RDS (đối với MySQL)
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html
- Dưới RDS tạo một nhóm bảo mật mới
- một lần nữa, quy ước đặt tên là bất cứ điều gì bạn muốn nhưng tôi cố gắng làm theo một số như ...
"ứng dụng môi trường-rds"
- Ví dụ: đối với ứng dụng được gọi là "Blog" trong môi trường sản xuất, tôi gọi đó là "blog-production-rds" có nghĩa là ứng dụng blog, trong môi trường sản xuất trên RDS
- Cho phép nhóm bảo mật EC2 trên Nhóm bảo mật RDS này
- Bạn cũng có thể cho phép IP công khai của riêng mình trong nhóm để bạn có thể truy cập trực tiếp vào DB từ máy của mình
- Cách khác, thiết lập VPC và một cổng (toàn bộ quả bóng sáp khác) để truy cập từ xa
- Tạo một phiên bản RDS mới và đính kèm nó vào Nhóm bảo mật RDS mới

EB - Tạo một ứng dụng EB và Môi trường
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.html
- Dưới thiết lập Elastic Beanstalk một App, Amazon 64-bit nút PHP (hoặc bất kỳ)
- Thiết lập một môi trường (gọi nó là bất cứ điều gì bạn thích)
- Đặt root tài liệu của môi trường thành/public
- Đặt nhóm bảo mật của nhóm môi trường thành tên của nhóm bảo mật EC2 mà bạn vừa tạo - Định cấu hình kết nối DB ứng dụng của bạn để trỏ vào trường hợp RDS mà bạn đã tạo (tên máy chủ, tên người dùng, mật khẩu, v.v.)

2

Ngoài ra, tôi muốn giới thiệu kiểm tra ra gói TrustedProxy Chris Fidao, vì vậy bạn có thể nhận được địa chỉ IP thích hợp khi gọi Yêu cầu :: getClientIp(): http://fideloper.com/laravel-4-trusted-proxies

(Hãy chắc chắn để thiết lập địa chỉ proxy sử dụng CIDR notation.)

Một nguồn thông tin hữu ích khác có thể áp dụng cho việc đặt Laravel phía sau cân bằng tải của Amazon: http://fideloper.com/web-app-load-balancing

Các vấn đề liên quan