+3

Hướng dẫn deploy website Laravel lên VPS/Server có auto deploy cực kỳ đơn giản

Chắc hẳn bạn đã từng gặp khó khăn trong việc triển khai website lên một máy chủ ảo (VPS), đặc biệt là khi bạn phải thao tác trên dòng lệnh và cài đặt các thành phần một cách thủ công. Trong quá trình phát triển ứng dụng web, việc deploy website lên môi trường sản phẩm thường là một thách thức đối với các nhà phát triển. Từ việc cấu hình máy chủ đến quản lý phiên bản, mỗi bước trong quy trình deploy đều đòi hỏi sự cẩn thận và kỹ năng kỹ thuật. Đối với nhiều nhà phát triển, việc phải xử lý các công việc này thường gây ra rắc rối và mất thời gian.

Để giải quyết các thách thức trong quá trình deploy, hôm nay mình sẽ giới thiệu đến bạn FlashPanel - một nền tảng quản lý máy chủ toàn diện. Với FlashPanel, việc deploy website lên VPS trở nên đơn giản và thuận tiện hơn bao giờ hết. Hãy cùng tìm hiểu về cách FlashPanel giúp bạn tự động hóa quy trình deploy và giảm bớt gánh nặng công việc cho nhà phát triển nhé.

Kết nối máy chủ

Giả sử bạn có máy chủ trắng tinh, hệ điều hành Ubuntu 20.04 hoặc Ubuntu 22.04 với thông tin kết nối như sau:

  • IP: 123.123.123.123
  • Port: 22
  • Root Password: Passw0rd$
  1. Đầu tiên các bạn đăng ký tài khoản tại FlashPanel và thực hiện xác nhận email

  2. Bấm nút Connect New Server

  3. Nhập các thông tin của máy chủ ở trên để tiến hành kết nối

    Screenshot 2024-05-04 at 17.26.49.png

  4. Bấm kết nối máy chủ vậy là xong, đợi tầm 10 phút để hệ thống tự động setup webserver cho bạn

Tạo Website

  1. Sau khi kết nối xong, ở màn hình quản lý máy chủ, các bạn click vào nút tạo website

    Screenshot 2024-05-04 at 17.30.47.png

  2. Tiếp sau đó nhập thông tin và bấm tạo website

    Screenshot 2024-05-04 at 17.31.48.png

Clone source code

  1. Bấm nút quản lý để vào bên trong chi tiết website

    Screenshot 2024-05-04 at 17.33.08.png

  2. Ở bước cài đặt mã nguồn, giả sử bạn để mã nguồn tại Github hãy tích vào ô Github

    Screenshot 2024-05-04 at 17.34.00.png

  3. Lúc này tài khoản của bạn chưa liên kết với Github, hãy bấm nút Liên kết

    Screenshot 2024-05-04 at 17.35.55.png

  4. Tải và chọn repository/branch, tích vào ô "Tự động thêm khóa triển khai (Khuyên chọn)" để thể clone được private repository nhé

    Screenshot 2024-05-04 at 17.37.59.png

  5. Bấm cài đặt Repository để clone source code về máy chủ

Database

Truy cập cơ sở dữ liệu, tạo người dùng, tạo database và import cơ sở dữ liệu dưới local lên

Screenshot 2024-05-04 at 19.20.27.png

Composer install

Truy cập tab Câu lệnh, chạy lệnh sau để thực hiện generate app key và

cp .env.example .env
php artisan key:generate
composer install --no-dev -o

Screenshot 2024-05-08 at 14.50.26.png

Config thêm .env

Cấu hình thêm thông tin .env database ở bước tạo database ở trên, và các thông tin khác đặc thù cho ứng dụng của bạn.

Screenshot 2024-05-04 at 22.26.01.png

Tới đây website của bạn đã live rồi đấy.

Chúc các bạn thành công!

Auto Deploy

Tới đây mình sẽ chỉ bạn cài auto deploy, khi mình push commit lên nhánh triển khai main hệ thống sẽ tự động thực hiện kịch bản có sẵn

Đầu tiên mình thiết lập kịch bản deploy sẵn ở đây

Screenshot 2024-05-08 at 14.58.49.png

Sau đó kéo xuống dưới, có nút tự động triển khai bấm vào đó là xong

Screenshot 2024-05-08 at 15.00.47.png

Bạn thử push 1 commit bất kỳ lên github xem, triển khai tự động sẽ diễn ra.

Schedule

Với lập lịch trong Laravel thì cấu hình không thể đơn giản hơn, truy cập vào tính năng Cronjob

Screenshot 2024-05-24 at 16.32.35.png

Bấm new

Screenshot 2024-05-24 at 16.33.09.png

Ở đây ta nhập vào command:

cd /path-to-your-project
php artisan schedule:run

Thay /path-to-your-project thành đường dẫn thực tế: ở FlashPanel thì thường sẽ là /home/flashvps/domain.com flashvps tương ứng với người dùng hệ thống khi tạo website và domain.com là tên miền hiện tại

Queue

Cấu hình Queue Laravel trên FlashPanel:

Truy cập Supervisor

Screenshot 2024-05-24 at 16.40.18.png

Cấu hình như hình dưới: phần directory cũng tương tự như schedule ở trên là đường dẫn đến thư mục website

Screenshot 2024-05-24 at 16.41.20.png

Tổng kết

Trong quá trình sử dụng có vấn đề gì mình cứ inbox cho fanpage tại: https://facebook.com/flashpanel.io

Trải nghiệm mình cho thấy, dùng đang dùng gói miễn phí nhưng bộ phận hỗ trợ rất nhiệt tình và nhanh chóng. Đôi lúc code của mình không hoạt động chính xác còn được tư vấn sửa chữa nữa 😄


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí