Deploy Laravel lên VPS Ubuntu sử dụng Vestacp(php-fpm + nginx)

D

Trong bài viết này, mình sẽ hướng dẫn cách deploy project Laravel lên máy chủ VPS sử dụng Vestacp.

Gioi thiệu sơ qua về Vestacp – là một Panel hoàn toàn miễn phí, dễ cài đặt và sử dụng, ngoài ra còn tích hợp khá nhiều chức năng như Firewall, Auto SSL, DNS, Cron Job… không kém gì các Panel trả tiền khác như Cpanel, Plesk hay Webmin…

Chuẩn bị VPS

Hiện tại mình đang sử dụng VPS của Vultr thấy khá ổn định, giá cả cũng rẻ hơn một số VPS ở Việt Nam. Ở đây, mình sẽ chọn hệ điều hành là Ubuntu 20.04 LTS

Dưới đây là một số cấu hình cho các bạn lựa chọn

Bảng giá VPS của Vultr
Bảng giá VPS Vultr

Cài đặt Vestacp

Sau khi kết nối SSH với VPS, bạn gõ lệnh sau để tải và cài đặt Vestacp, lưu ý là chạy với quyền root nhé:

curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh --force

Sau đó sẽ có màn hình setup hiện ra:

Setting Vestap
Cài đặt Vestacp trên Ubuntu

Bạn sẽ cần cung cấp thông tin như email, domain default để Vestacp tiến hành setup cấu hình.

Màn hình khi cài đặt thành công Vestacp
Màn hình sau khi cài đặt Vestacp thành công

Bạn có thể vào địa chỉ http://xx.xx.xx.xx:8083 (xx.xx.xx.xx là IP máy chủ VPS) để login vào Vestacp.

Ten ten, đây là giao diện Vestacp khi cài đặt thành công

Giao diện UI Vestacp
Giao diện Vestacp

Cấu hình Nginx

Khi cài đặt thành công Vestacp, thì bạn sẽ được cấp 1 tài khoản mặc định là “Admin”. Bạn cũng có thể sử dụng tài khoản Vestacp để truy cập SSH vào VPS bằng câu lệnh

ssh admin@xxx.xxx.xxx

Tiếp theo, để cấu hình Nginx trỏ về thư mục pulbic trong Laravel :

nano /home/$user/conf/web/$domain.nginx.conf

$use , $domain lần lượt là tên user và domain website.

server {
    listen      xxx.xxx.xxx.xxx:80;
    ...
    root        /home/user/web/domain.xyz/public_html/public;
    ...
    location / {  
       try_files $uri $uri/ /index.php?$query_string;  
       location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }
    ...

A. Thêm public sau public_html

B. Thêm try_files $uri $uri/ /index.php?$query_string; sau location/

C. Bấm Ctrl + X , sau đó Y để lưu file. Cuối cùng dùng câu lệnh sau để restart Nginx :

sudo systemctl reload nginx

Deploy Laravel

Vào thư mục public_html để pull project về từ Git

cd ./web/domain/public_html
sudo git clone -b 6.x https://github.com/laravel/laravel.git
mv laravel/* web/domain/public_html

Sau đó rename file .env.example thành file .env. Chỉnh sửa cấu hình database.

Thử chạy project bằng địa chỉ ip của bạn

Welcome page Laravel khi cài thành công

Nếu ra được đến bước này thì chúc mừng bạn. Bạn đã cài đặt thành công Laravel lên VPS chạy Vestacp rồi !!

Tóm lại

Tóm lại, Vestacp là một Panel khá là đơn giản, dễ cài đặt và sử dụng. Việc deploy một ứng dụng hoặc website lên VPS cũng không khó khăn gì, mình nghĩ quan trọng nhất là phần cấu hình DocumentRoot của Nginx để trỏ về thư mục public của Laravel.

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

Bài viết này được tham khảo từ:

About the author

Tuan Ha

back-end developer @ Sutunam, becoming software engineer, blogger

Add comment

By Tuan Ha