0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Hướng Dẫn Triển Khai Laravel 9 với MySQL, Redis và Queue Jobs lên Railway

Đăng vào 5 ngày trước

• 2 phút đọc

Hướng Dẫn Triển Khai Laravel 9 với MySQL, Redis và Queue Jobs lên Railway

Triển khai ứng dụng Laravel của bạn lên Railway với MySQL và Redis không hề khó khăn. Dưới đây là hướng dẫn chi tiết từng bước để giúp bạn thực hiện điều này.

Giới thiệu

1. Thiết lập Dịch Vụ Database MySQL

  • Bắt đầu bằng cách tạo cơ sở dữ liệu MySQL trên Railway. Sau khi tạo xong, bạn sẽ nhận được thông tin như sau:

    Copy
    MYSQLDATABASE : railway
    MYSQLHOST : viaduct.proxy.rlwy.net
    MYSQLPASSWORD : ff-g5E3HcFC5G3DC3FDG1C-D5ACcBH2A
    MYSQLPORT : 49926
    MYSQLUSER : root
    MYSQL_DATABASE : railway
  • Sử dụng thông tin này để đăng nhập vào hệ quản trị cơ sở dữ liệu như VS Code hoặc SQL Heidi để chạy các file SQL và tạo cơ sở dữ liệu như bạn vẫn thường làm tại địa phương.

2. Cấu hình Dịch Vụ Laravel - Jobs

Giải thích

  • Khi triển khai project, bạn cần sử dụng biến NIXPACKS_START_CMD để xác định cách thức chạy các lệnh trong Laravel. Có hai cách:
    • Sử dụng & để chạy song song: NIXPACKS_START_CMD=php artisan queue:work & php artisan user:broadcast & php artisan user:statistical
    • Sử dụng && để chạy tuần tự, lệnh này sẽ chạy sau khi lệnh trước đó hoàn thành.

Cách Giải Quyết

  • Tạo ba dịch vụ chính:

    1. Database MySQL
    2. Dịch vụ Laravel Server
    3. Dịch vụ Laravel Jobs
  • Cả hai dịch vụ Laravel sẽ kết nối đến cùng một cơ sở dữ liệu với cấu hình tương tự như nhau. Duy nhất dịch vụ Laravel Jobs sẽ có thêm biến NIXPACKS_START_CMD.

Cấu Hình ENV trên Railway Laravel

plaintext Copy
APP_DEBUG=true
APP_ENV=production
APP_KEY=base64:cfDBHY1xnKPgpyoOjt2o1K7y+M7rzJbxITSGwhjmQsI=
APP_NAME=LINE Bot - Support LINE OA
DB_CONNECTION=mysql
DB_DATABASE=railway
DB_HOST=viaduct.proxy.rlwy.net
DB_PASSWORD=ff-g5E3HcFC5G3DC3FDG1C-D5ACcBH2A
DB_PORT=49926
DB_USERNAME=root
QUEUE_CONNECTION=database
CACHE_DRIVER=file

3. Cấu Hình Dịch Vụ Redis

  • Tạo Redis trên Railway và lưu lại thông tin chi tiết như sau:
plaintext Copy
REDIS_HOST=monorail.proxy.rlwy.net
REDIS_PORT=42828
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
  • Đừng quên cài đặt Redis với lệnh: composer require predis/predis. Tối ưu hóa ứng dụng của bạn bằng cách cập nhật tệp cấu hình và chạy các lệnh sau:
    • composer dump-autoload
    • php artisan optimize:clear
    • php artisan optimize

4. Triển Khai Client trên Vercel

  • Để triển khai frontend, bạn chỉ cần trỏ đến repo GitHub của ứng dụng frontend của bạn trên Vercel và nó sẽ tự động triển khai.

Kết Luận

Triển khai Laravel 9 với MySQL và Redis lên Railway rất dễ dàng nếu bạn theo đúng từng bước hướng dẫn. Hãy đảm bảo rằng mọi biến được cấu hình phù hợp trong tệp .env của từng dịch vụ. Nếu bạn làm đúng, mọi thứ sẽ hoạt động trơn tru.

Chúc bạn thành công!
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào