Cài đặt Laravel trên Heroku miễn phí
https://allaravel.com/blog/cai-dat-laravel-tren-heroku-mien-phi
Cài đặt Laravel trên Heroku miễn phí
70,670 lượt xem 4 bình luận viết bởi FirebirD
Heroku là mô hình điện toán đám mây với nền tảng là dịch vụ (Platform as a Service - PaaS), nó hỗ trợ rất nhiều các ngôn ngữ lập trình khác nhau như Ruby on Rails, PHP, Python, Java, Node.js, Scala, Clojure... Heroku giúp bạn quên đi những lo toan về cơ sở hạ tầng mà chỉ tập trung vào các ứng dụng bạn cần phát triển. Heroku có rất nhiều các tính năng ưu việt như:
Triển khai nhanh ứng dụng thông qua Git kết hợp với việc sử dụng các kịch bản build.
Có nhiều Addon cài đặt thêm như các ứng dụng, cơ sở dữ liệu...
Khả năng mở rộng quy mô lớn, quy mô độc lập cho từng ứng dụng không ảnh hưởng bởi các chức năng và hiệu suất.
Tách biệt các xử lý bằng dyno (Heroku dyno là một Linux container rút gọn có thể chạy các lệnh người dùng).
Cho phép đăng nhập và truy xuất output của mọi thành phần trên từng dyno.
Heroku cho phép bạn tạo miễn phí các dyno để triển khai các ứng dụng, tuy nhiên dyno miễn phí bị hạn chế là sẽ chuyển sang chế độ ngủ nếu không có truy nhập trong 30 phút. Ngoài ra các gói khác của Heroku là mất phí. Heroku hiện đang là đối thủ của HP Clound service, Openshift, Amazon Web service, Google App Engine, Windows Azure...
Cài đặt Laravel trên Heroku
Heroku có những hỗ trợ lớn với các môi trường PHP như hỗ trợ công cụ composer và trở thành điểm lưu trữ tốt cho các ứng dụng PHP. Trong bài viết này chúng ta sẽ cài đặt một ứng dụng Laravel trên Heroku với tốc độ nhanh chóng và cũng là ví dụ để làm quen với Heroku.
Yêu cầu chuẩn bị trước khi cài đặt
Trước khi thực hiện cài đặt, chúng ta cần chuẩn bị một số công cụ trước như sau:
1. Đăng ký tài khoản Heroku
Đăng ký tài khoản trên Heroku rất nhanh chóng, bạn điền các thông tin vào form đăng ký, click Create Free Account. Mặc định Heroku tạo các tài khoản miễn phí, sau đó khi sử dụng, nếu bạn có yêu cầu sẽ chuyển sang tài khoản mất phí. Một email xác thực sẽ được gửi đến địa chỉ email của bạn, thực hiện click vào đường dẫn xác thực là bạn đã có ngay tài khoản Heroku.
2. Cài đặt Composer trên máy
Composer là công cụ quản lý các phụ thuộc các thư viện lập trình bằng PHP, xem Hướng dẫn cài đặt Composer. #### 3. Cài đặt Heroku Toolbelt (tên khác Heroku CLI - Heroku Command Line Interface).
Heroku CLI là công cụ tạo và quản lý các ứng dụng Heroku từ dòng lệnh/shell trên các hệ điều hành khác nhau: ##### Cài đặt Heroku trên Windows:
Tải các bản cài đặt Heroku về và cài đặt tùy thuộc nền tảng Windows bạn đang sử dụng: windows-32-bit, windows-64-bit. Chú ý, bộ cài này tích hợp cùng với bộ cài Git do Heroku hỗ trợ git để triển khai ứng dụng.
Cài đặt Heroku trên OSX:
Tải bản cài đặt Heroku cho OSX và cài đặt, hoặc sử dụng brew để cài đặt:
Cài đặt Heroku trên Linux:
Sử dụng các câu lệnh sau để add repository và thực hiện cài đặt CLI:
Sau khi đã cài đặt xong, kiểm tra phiên bản Heroku để đảm bảo đã cài đặt thành công:
4. Tạo key SSH bảo mật kết nối đến Heroku
Tham khảo bài viết SSH là gì để biết cách tạo cặp khóa private key và public key. Heroku hỗ trợ cả hai định dạng khóa là RSA và DSA. Để add public key vào Heroku sử dụng câu lệnh:
Mặc định Heroku sẽ tìm kiếm public key tại đường dẫn ~\.ssh\id_rsa.pub. ### Các bước thực hiện cài đặt Laravel, git push và triển khai trên Heroku
Bước 1: Cài đặt một bản Laravel mới trên máy local.
Chỉnh sửa file .gitignore để bỏ qua các file và thư mục không xử lý với git, chỉnh sửa nội dung file này chỉ còn như sau:
Xóa file .env.example khỏi thư mục laravel-heroku-test.
Bước 2: Tạo Procfile
Heroku dựa trên Procfile để biết cần xử lý gì khi khởi tạo dyno. Xem chi tiết các thiết lập trong phần Custom PHP settings
Bước 3: Đăng nhập Heroku và tạo ứng dụng bằng Heroku CLI
Như vậy chúng ta đã tạo ra ứng dụng tên allaravel-heroku trên Heroku. Thiết lập ngôn ngữ cho ứng dụng:
Có thể bỏ qua bước thiết lập ngôn ngữ cho ứng dụng vì khi Git push, Heroku sẽ tự động phát hiện đây là ngôn ngữ PHP.
Bước 4: Push ứng dụng Laravel lên Heroku Git.
Đầu tiên tạo local repository, commit source ứng dụng Laravel vào đó.
Tiếp theo, chúng ta push lên Heroku Git
Do câu lệnh tạo ứng dụng trong heroku đã mặc định tạo remote heroku, chúng ta chỉ việc sử dụng thôi.
Ok, như vậy đã push và build xong trên Heroku, Heroku sử dụng Procfile cho quá trình build này. Có thể truy nhập luôn vào đường dẫn mà Heroku thông báo https://allaravel-heroku.herokuapp.com/ hoặc có thể sử dụng câu lệnh:
Khi mở ứng dụng lên tại https://allaravel-heroku.herokuapp.com/ thấy báo lỗi "Whoops, looks like something went wrong.", để xem lỗi rõ hơn, bật chế độ debug lên. Mở file config/app.php sửa debug thành true.
Mở lại đường dẫn https://allaravel-heroku.herokuapp.com/ lỗi đã cụ thể hơn.
À do chúng ta cho file .env vào .gitignore nên nó không push lên Heroku Git. Chúng ta thiết lập key cho ứng dụng Laravel trong config/app.php
Key này lấy từ .env hoặc bạn có thể tạo lại key bằng lệnh artisan rồi copy vào config/app.php. (Xem lại Thiết lập cấu hình cho ứng dụng Laravel)
Ok, thực hiện commit và push lên Heroku Git.
Giờ chúng ta kiểm tra thử lại ứng dụng Laravel này tại https://allaravel-heroku.herokuapp.com/.

Ngăn chặn dyno chuyển sang chế độ ngủ
Gói miễn phí của Heroku như đã nói ở trên dyno sẽ chuyển sang chế độ sleep nếu không có request nào trong 30 phút. Mỗi khi dyno ở chế độ ngủ, một request mới đến sẽ làm nó chuyển chế độ sang hoạt động bình thường và mất khoảng 10-15 giây. Chúng ta phải chấp nhận thôi vì đây là gói miễn phí, tuy nhiên có nhiều cách khiến cho dyno không bao giờ chuyển sang chế độ ngủ: ### Sử dụng các service ping:
Các công cụ như Pingdom, Pingometer.com, UptimeRobot, Kaffeine ... sẽ request ứng dụng theo thời gian bạn lựa chọn, như vậy dyno sẽ không bao giờ vào chế độ sleep.
Cài đặt package Heroku self ping:
Không cần sử dụng đến các công cụ bên thứ ba, bạn có thể cài đặt Heroku Self ping để thực hiện ping một đường dẫn nào đó trong một khoảng thời gain.
Lời kết
Heroku là một nền tảng đáng để thử nghiệm, quá trình cài đặt ứng dụng cực nhanh chóng, hơn nữa nó MIỄN PHÍ. Trong bài viết đầu này, chúng ta chỉ làm quen cách cài đặt cơ bản ứng dụng Laravel trên Heroku, trong những bài tiếp theo sẽ tìm hiểu sâu hơn cách thức cài đặt CSDL, thiết lập dyno... và đưa ứng dụng laravel-test chứa toàn bộ các bài ví dụ cho Học Laravel trong 7 ngày lên Heroku.
CÁC BÀI VIẾT KHÁC free hosting git heroku heroku cli host miễn phí triển khai laravel miễn phí
FirebirD
Đam mê Toán học, Lập trình. Sở thích chia sẻ kiến thức, Phim hài, Bóng đá, Cà phê sáng với bạn bè.
SSH là gì, sử dụng SSH bảo mật kết nối máy chủ Linux
Thiết lập kho lưu trữ trong Git
4 Bình luận trong "Cài đặt Laravel trên Heroku miễn phí"
Ducbeo
5 years ago
Phản hồirun: heroku open. toàn bị You don't have permission to access / on this server. ?? chả hiểu tại sao?
Ducbeo
5 years ago
Phản hồiah lỗi do phải thêm /public xin chỉ cách để tự trỏ vào /public ad.thank
FirebirD
5 years ago
Phản hồiHeroku sử dụng file Procfile để nhận biết bắt đầu chạy từ đâu trong project, bạn tạo một file tên Procfile với nội dung: web:vendor/bin/heroku-php-apache2 public/ ở thư mục gốc dự án rồi upload cùng dự án là tự động Heroku sẽ đọc từ đây.
Oliver Russell
3 years ago
Phản hồiIf you want to host a Laravel app on a server, you can also use Cloudways PaaS. With this platform, user can launch a managed laravel server in just a single click without having to manually install or configure the stack.
Thêm bình luận
Last updated
Was this helpful?