Triển khai web trên Heroku
Bài đăng này đã không được cập nhật trong 6 năm
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
Bình luận
bài viết rất hữu ích
mình cũng mới cài thành công 2,3 ngày chưa có nội dung gì,cấu hình heroku dành cho ngôn ngữ khác cũng thế à???????????????????????,buildpacks,config var
@koyoy đúng rồi bác giống nhau thôi nhưng mình chưa fix dc lỗi này =))
@MinhNguyen ,ngôn ngữ nào cũng config var thế à