TRANG CHỦ | Chia sẻ kiến thức

Deploy dự án Angular và Laravel


Deploy dự án Angular và Laravel hướng dẫn bạn đưa dự án lên internet khi bạn đã dự án với Angular và có dự án với Laravel

Bạn đang có website được thực hiện bởi 2 phần: phần Front End làm với Angular và Backend làm với Laravel. Thực hiện theo bài này để đưa frontend Angular lên hosting và đưa backend Laravel lên 1 host khác . Cấu hình để chúng hoạt động với nhau.

Deploy website backend Laravel

a. Clear các trạng thái đã chạy trong local

Trong folder project Laravel, chạy các lệnh sau để tạo key mới cho project, clear cache, view và các cấu hình local

php artisan key:generate

php artisan cache:clear

php artisan route:clear

php artisan config:clear

php artisan view:clear

b. Đăng ký hosting và tên miền

Bạn cần có hosting và tên miền, để đưa website lên mạng. Có thể mua hoặc đăng ký miễn phí. Để thực hiện bài này, gợi ý bạn đăng ký free hosting ở awardspace để lưu phần backend với laravel và đăng ký hosting ở byethost để đưa phần front end thực hiện với Angular.

c. Upload các file trong project Laravel lên hosting

Dùng File Zilla Client hoặc tool FTP tuỳ ý để đưa các file bên trong project laravel lên folder gốc của hosting.

c. Tạo database và import file .sql

Đặt tên database , password db

Ghi nhận các thông số database để chút nữa cấu hình trong Laravel. Xong vào phpMyadmin để import

Nhắp Import, chọn file .sql và nhắp Import

d. Cấu hình kết nối database

Chọn file .env , vào Edit để khai báo các thông số database

Khai báo địa chỉ mysql host, db_tên database, username kết nối db, mật khẩu kết nối db

Nhập các địa chỉ api đã tạo để kiểm tra xem có hoạt động đúng không

Deploy website frontend với Angular

a. Tạo environment

Trong folder project chạy lệnh: ng g environments . Chạy xong thì trong project src sẽ có 2 file mới

b. Khai báo cấu hình khác nhau theo môi trường development , production

Mở file environment.development.ts và khai báo thông số địa chỉ api server ở local

export const environment = {

 production: false,

 apiUrl: 'http://localhost:3000' // api server trong mode dev ở local

};

Mở file environment.ts và khai báo thông số địa chỉ api server khi đã chạy production  (đã đưa lên internet)

export const environment = {

 production: true,

 apiUrl: 'http://vanlong.atwebpages.com/public/api' //api server trong production

};

c. Chỉ định file cấu hình khi build theo từng môi trường

Mở file angular.json trong folder project , tìm đến mục build rồi vào mục con configurations sẽ thấy 2 mục con nữa là production và development. Và rồi khai báo trong production và development như sau:

"fileReplacements": [{

  "replace": "src/environments/environment.development.ts",

  "with": "src/environments/environment.ts"

}]

"fileReplacements": [{

  "replace": "src/environments/environment.ts",

  "with": "src/environments/environment.development.ts"

}]

d. Cấu hình Angular cho phép kết nối đến api server khác domain

– Tạo file  src/ proxy.conf.json và code

{

   "/api": {

       "target": "http://vanlong.atwebpages.com/",

       "secure": false

   }

}

– Mở file angular.json trong folder project , tìm đến mục serve  rồi vào mục con configurations sẽ thấy 2 mục con nữa là production và development. Và rồi khai báo trong production và development như sau:

proxyConfig": "src/proxy.conf.json"

e. Build project để chạy production

Trong folder project , chạy lệnh ng build –configuration=production

Sau khi chạy xong, trong folder project sẽ có folder dist

Bạn upload các file trong dist lên hosting

Xem thử  sẽ thấy trang web với dữ liệu hiện ra

Đến đây thì việc deploy dự án Angular và Laravel đã hoàn tất, chúng đã hoạt động cùng nhau trên mạng. Vẫn còn vài vấn đề cần giải quyết, bài sau nhé.