Hướng Dẫn Triển Khai Dự Án Laravel Trên EC2 AWS Với Nginx
Trong bài viết này, chúng ta sẽ tìm hiểu các bước cần thiết để triển khai một dự án Laravel lên máy chủ EC2 trên AWS sử dụng Nginx. Đây là quy trình đơn giản và dễ thực hiện, giúp bạn nhanh chóng có được một môi trường làm việc cho ứng dụng của mình.
Bước 1: Tạo Instance EC2
Đầu tiên, bạn cần tạo một instance EC2 trên AWS với hệ điều hành Linux và kết nối tới đó qua SSH. Bạn có thể tham khảo hướng dẫn chi tiết tại đây.
Bước 2: Cài Đặt PHP và Nginx
Sau khi đã kết nối vào EC2, chúng ta tiến hành cài đặt PHP và Nginx bằng các lệnh sau:
-
Cập nhật danh sách gói:
bashsudo yum update
-
Cài đặt Nginx và PHP:
bashsudo yum install nginx php php-fpm php-mysqlnd
-
Khởi động Nginx và PHP-FPM:
bashsudo systemctl start nginx sudo systemctl enable nginx sudo systemctl start php-fpm sudo systemctl enable php-fpm
Bước 3: Cài Đặt MySQL
Để cài đặt MySQL, thực hiện các bước sau:
-
Cài đặt kho lưu trữ MySQL Community:
bashsudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
-
Cài đặt MySQL Server:
bashsudo dnf install mysql80-community-release-el9-1.noarch.rpm sudo dnf repolist enabled | grep "mysql.*-community.*" sudo dnf install mysql-community-server
-
Khởi động MySQL Server:
bashsudo systemctl start mysqld sudo mysql -V
-
Bảo mật MySQL Server:
bashsudo mysql_secure_installation
-
Kiểm tra MySQL Server:
bashsudo mysql -uroot -p
Nếu gặp lỗi trong quá trình cài đặt do khóa, bạn có thể sử dụng lệnh sau:
bash
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
Bước 4: Triển Khai Dự Án Laravel
-
Truy cập vào thư mục
/home
, tạo một thư mụcsource
và chuyển vào đó. Sau đó, kéo mã nguồn dự án về:bashcd /home mkdir source cd source git pull <repository-url>
-
Chuyển đến thư mục mã nguồn đã kéo và chạy các lệnh sau:
bashsudo composer install sudo cp .env.example .env sudo nano .env # Cập nhật thông tin env php artisan key:generate
Bước 5: Cấu Hình Nginx cho Laravel
Tạo tệp cấu hình mới cho ứng dụng Laravel:
bash
sudo nano /etc/nginx/conf.d/your-laravel-app.conf
Nội dung của tệp cấu hình như sau:
nginx
server {
listen 80;
server_name localhost;
root /home/source/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
error_log /var/log/nginx/your-laravel-app.error.log;
access_log /var/log/nginx/your-laravel-app.access.log;
}
-
Kiểm tra cấu hình Nginx để đảm bảo không có lỗi:
bashsudo nginx -t
-
Khởi động lại dịch vụ Nginx:
bashsudo systemctl restart nginx
Bước 6: Chạy Migrations của Laravel
Chạy lệnh migrations để thiết lập cơ sở dữ liệu:
bash
php artisan migrate
Cuối cùng, bạn có thể kiểm tra ứng dụng của mình bằng cách truy cập vào địa chỉ IP công cộng của instance EC2. Chúc bạn thành công với việc triển khai ứng dụng Laravel của mình trên AWS EC2!
source: viblo