Triển khai web trên Heroku
This post hasn't been updated for 5 years
Tổng quan
Bạn có 1 website. Bạn muốn triển khai cho mọi người có thể xem. Bạn không có host
=> Bạn có thể lựa chọn Heroku để triển khai vì nó miễn phí và cung cấp Database cho bạn đủ dùng @@
Tài liệu sẽ hướng dẫn bạn
- Cài đặt quản lý code trên Heroku (qua git và Heroku với các thao tác pull, push)
- Kết nối database (DB) vào ứng dụng
- quản lý database (insert, view, create database như phpMyAdmin nhưng ở chế độ dòng lệnh )
1. Đăng kí tài khoản với heroku
Tài liệu: https://devcenter.heroku.com/articles/getting-started-with-laravel
1.1. Cài đặt: Heroku CLI (quản lý chế độ dòng lệnh)
https://devcenter.heroku.com/articles/heroku-cli
1.2. Tạo git như bình thường, commit, add
1.3. Tạo file Procfile để tạo quyền admin trên server cho đúng thư mục
$ echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
$ git add .
$ git commit -m "Procfile for Heroku“
1.4. Login vào Heroku
Sau khi cài Heroku CLI, chạy lệnh Heroku ngon lành rồi. (Chạy cmd dưới quyền admin)
$ heroku login
1.5. Tạo ứng dụng Heroku:
$ heroku create
anh Heroku, anh tạo cho em 1 cái app (bước này tạo trên giao diện cũng được mà tạo bằng lệnh cho nguy hiểm )
Sau bước này git sẽ liên kết remote đến 1 repository nữa là Heroku
Remove remote: https://help.github.com/articles/removing-a-remote/
1.6. Đẩy code lên server để chạy thôi: Push code như git, nó sẽ tự cài composer
$ git push heroku master
Phải là nhánh master, nhánh khác nó sẽ không hoạt động
1.7. Chạy thôi
$ heroku open
1.8. Cài đặt .env
Khi cài đặt các biến, các file môi trường trong .env, có thể cài trên giao diện cho dễ (APP_URL, APP_KEY) (phần settings)
Tham khảo: https://www.youtube.com/watch?v=R8A3h3y5Z8c
2. Kết nối DB
$heroku addons:create heroku-postgresql:hobby-dev
- Câu lệnh này sẽ sinh ra 1 DB cho ứng dụng: https://data.heroku.com/ đồng thời khai báo DATABASE_URL vào app cho ta. Một công đôi việc
- Việc tiếp theo là cần thực hiện migrate trong Laravel
2.1. Trong file config/database.php thêm các câu lệnh lên đầu
$url = parse_url(getenv('DATABASE_URL'));
$host = $url['host']??null;
$username = $url['user']??null;
$password = $url['pass']??null;
$database = substr($url['path'], 1);
2.2. Chỉnh sửa config
'default' => env('DB_CONNECTION', 'pgsql_production’),
2.3. Chạy lệnh thôi
$ heroku run php artisan migrate
3. Chèn dữ liệu DB, quản lý DB
- Công cụ sử dụng: PostgreSQL
- Cài đặt: https://devcenter.heroku.com/articles/heroku-postgresql#local-setup (cài đặt trên MAC, Windows, Ubuntu)
- Sau đó bật sql shell lên quản lý: Easy (hình ảnh trên windows 10) (tìm trong serach khi cài xong – SQL Shell (qspl). Các thông số lấy ở trang https://data.heroku.com/ (phần settings)
4. Một vài câu lệnh hữu ích khác
$ git remote rm Heroku: xóa remote hiện tại
$ heroku git:clone -a cert-hust: clone repository về
$ heroku git:remote cert-hust: thêm 1 remote
$ heroku run php artisan migrate:refresh
Tài liệu tham khảo
https://devcenter.heroku.com/articles/getting-started-with-laravel
All Rights Reserved