Nội dung
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Heroku là một server linux (VPS), server có thể dùng miễn phí và tính năng trả phí. Heroku là một server đa dạng cung cấp rất nhiều ứng dụng, các bạn có thể cài đặt web server như apache hoặc cũng như cài đặt các phần mềm lên đó, chằng hạn như nodejs..
Trước tiên bạn đăng ký lấy một tài khoản tại đây: https://www.heroku.com, nhấn vào Sign up for free bạn sẽ nhận một email yêu cầu cài đặt tài khoản, mở email và làm theo hướng dẫn. Như vậy là bạn đã có một tài khoản heroku rồi.
Trước khi đọc tiếp bài này, đảm bảo máy tính của bạn cần được cài git trước đó, nếu chưa cài thì đọc bài hướng dẫn cài github trên windows tại đây.
Bạn cũng cần cài đặt heroku cho máy tính để có thể kết nối vào tài nguyên trên server heroku. Tải phần mềm Heroku Toolbelt for windows. Nhấn đúp vào file và cài đặt như bình thường. Bộ cài này có cài foreman và ruby trên máy tính. Sau khi cài đặt hoàn tất, mở lại CMD rồi thử gõ lệnh heroku
nếu không báo lỗi là đã thành công.
Tạo phiên làm việc với heroku
Trước khi làm mọi thứ trên heroku bạn cần đăng nhập tài khoản vào heroku trên máy tính, sử dụng giao diện lệnh command line CMD của windows. Heroku hỗ trợ trên các hệ điều hành phổ biến hiện nay như MAC, Linux, Ubuntu, trong bài viết này mình chỉ hướng dẫn sử dụng đối với windows thôi nhé.
Đăng nhập vào heroku với các lệnh sau:
heroku login Enter your Heroku credentials. Email: [email protected] Password: your-password
Bạn sẽ nhận prompt thông báo nhập nhập email và pasword. Bạn có thể thấy dòng thông báo
Could not find an existing public key. Would you like to generate one? [Yn]
Gõ Y, và nhấn enter. Nếu bạn nhận được thông báo lỗi:
! Could not generate key: 'ssh-keygen' is not recognized as an internal or external command, ! operable program or batch file.
Tức là ssh-keygen.exe không được tìm thấy trong môi trường lệnh windows. ssh-keygen.exe
có trong thư mục cài msysgit “C:\Program Files\Git\bin\ssh-keygen.exe”. Để chắc chắn chúng ta khai báo thêm các trương trình executable có trong “\Git\bin” vào biến môi trường %PATH%
của windows.
Khởi động lại CMD và đăng nhập lại heroku, nếu thành công bạn sẽ thấy như hình dưới.
Git sẽ là môi trương trung gian làm việc giữa các files chạy trên máy tính và heroku server, các files đã tạo trên máy tính có thể tải lên tài khoản heroku của bạn thông qua mã chứng thực ssh-key. Mã ssh-key sẽ được tạo trên máy tính và đồng bộ lên tài khoản heroku sau lần đăng nhập vào heroku đầu tiên trên máy tính của bạn. Mỗi máy tính sẽ có một ssh-key giống như chỉ có một IP cho một máy tính trên mạng kết nối internet. Khi login bằng cmd ở trên, sẽ lưu chứng chỉ ssh key vào thư mục C:/User/Admin/.ssh
, ssh này kết nối vào tài khoản heroku của bạn.
Để kiểm tra chuỗi ssh keys đã tồn tại mỗi khi sử dụng câu lệnh heroku, bạn gõ lệnh này sẽ trả về thông tin ssh-keys của máy tính đã được đồng bộ trên tài khoản heroku của bạn.
heroku keys
Đăng nhập tài khoản heroku trên trình duyệt, nhấn vào link account https://dashboard.heroku.com/account, bạn kéo xuống phía dưới sẽ nhìn thấy mục SSH Keys.
Nhờ ssh-key này mà các files trên máy tính sẽ giao thông trên heroku server thông qua lệnh git.
Lúc này, nó thêm địa chỉ git remote của heroku app hiện tại và gán tên “heroku” vào địa chỉ git đó để làm việc. Như bạn có thể thấy lệnh push lên heroku server sẽ như thế này.
git push heroku master
Tạo mới ứng dụng
Chúng ta có tạo mới ứng dụng thông qua thao tác trên trình duyệt hoặc bằng lệnh. Tại trang quản lý tài khoản heroku, bạn nhấn vào Create a new app nhập tên cho app hoặc để trống heroku sẽ chọn một tên ngẫu nhiên và nhấn Create app. Ví dụ, app sẽ có tên như thế này nếu không điền tên cụ thể: “gentle-bayou-8757”.
Bạn cũng có thể tạo mới ứng dụng heroku bằng lệnh heroku create
như sau.
heroku create name-of-your-app
thay name-of-your-app bằng tên ứng dụng của bạn sẽ tạo hoặc mặc định là để trống heroku sẽ chọn ra một tên cho bạn, tên này sẽ không trùng với các tên ứng dụng của người khác. Nếu điền tên app thì tên này phải không trùng với các apps của người khác đã có trước đó, không thì bạn sẽ nhận được thông báo đã tên này đã có người đăng ký.
! Name is already taken.
Khi đã khởi tạo xong app, thì địa chỉ của app đó sẽ là: http://www.your-app-name.heroku.com
Truy cập URL này có 2 cách, nhập trực tiếp trên thanh địa chỉ trình duyệt hoặc gõ lệnh: heroku open
, lệnh này sẽ tự động mở URL của ứng dụng hiện tại đang làm việc trên trình duyệt.
Bên cạnh tạo ứng dụng thông qua bằng lệnh bạn có thể quản lý thêm ở trang quản lý ứng dụng, tại đây bạn có thể sửa lại tên, cấu hình biến, còn có tính năng thiết lập lưu code của ứng dụng vào Github Repository và những cài đặt khác như thiết kế trang bảo trì, trang báo lỗi…
Nếu không muốn dùng ứng dụng nữa thì có thể xóa đi, bằng cách nhấn vào liên kết Delete app…
Lưu ý: Mọi lệnh của heroku bạn sử dụng trên cmd sẽ làm việc với ứng dụng hiện tại. Sau khi tạo ứng dụng mới, sử dụng lệnh heroku create
thì mặc định lệnh heroku tiếp theo sẽ làm việc với ứng dụng vừa tạo này.
Bắt đầu Upload code lên ứng dụng heroku
Trong mỗi ứng dụng Heroku sẽ có một file cấu hình có tên “Procfile”. File này không có phần mở rộng, nó được đặt tại thư mục gốc (root) của ứng dụng và quyết định lệnh nào sẽ được thực thi sau khi kích hoạt cho chạy ứng dụng trên heroku. Ví dụ trong bài này mình tạo một đoạn code js đơn giản cho server nodejs mà chúng ta sẽ cài trên heroku.
Tạo file Procfile trong thư mục mà bạn đã làm việc với git trước đó. Bạn có thể thực thi các lệnh command line sau lệnh web:
này. Ví dụ có thể chạy lệnh nodejs như thế này.
web: node web.js
Xem chi tiết cách đưa code lên heroku từ dự án phát triển trên máy tính qua bài học tạo ứng dụng node.js socket.io lên heroku.
Một số lệnh heroku cơ bản
Liệt kê các lệnh đã chạy trên ứng dụng heroku của bạn.
heroku ps
Mở app hiện tại đang làm việc.
heroku open
Đăng xuất tài khoản.
heroku logout
Heroku Console
Bạn có thể truy cập vào console của heroku, giống CMD của windows hay terminal của linux đó bạn. Sử dụng heroku terminal bằng cách gõ lệnh:
heroku run bash
Bạn cũng nên nhớ rằng lệnh luôn làm việc với app hiện tại trong cả console. Lệnh trên sẽ truy cập vào terminal của linux vì heroku là server linux Ubuntu. Bạn có thể thử lệnh linux tại đây để biết. Tuy nhiên heroku có đưa ra giới hạn một số lệnh có thể dùng cho gói free. Một số giới hạn khi dùng lệnh Heroku, như không cho phép chỉnh sửa file trực tiếp trên terminal hoặc bạn nhìn thấy edit được trên console nhưng khi xem lại nội dung file thì không có thay đổi. Đó là bản free mà mình đã test qua còn với tính năng cao hơn, và nếu muốn vọc nhiều lệnh linux hơn thì phải nâng cấp sang gói trả phí. Để thoát ra chế độ console, gõ lệnh exit
, gõ tiếp Y
Ví dụ xem nội dung của file với lệnh cat
trong linux.
heroku run cat index.html
Ah ! nếu như đã vào môi trường terminal thì chỉ cần gõ cat index.html
thôi đấy. Sau lệnh heroku là lệnh linux bình thường.
Cũng có thể truy cập vào môi trường nodejs console bằng lệnh
heroku run node
hoặc chạy vào một file node.
heroku run node index.js
Bảo trì ứng dụng
Bạn đang có kế hoạch bảo trì website trên host heroku, bạn sẽ phải đưa ra thông báo nâng cấp website trên địa chỉ ứng dụng của website. Bằng cách chạy lệnh sau bạn có thể đưa website trở lại hoạt động hay bật chế độ bảo trì.
heroku maintenance:on heroku maintenance:off
Phần nội dung thông báo đến người dùng cho biết website của bạn đang trong thời gian bảo trì, mình sẽ nói chi tiết sau.
Nếu thấy bài viết này hữu ích với bạn nhớ nhấn like ủng hộ mình nhé.
Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype