Hướng Dẫn Cách Deploy Project NodeJS Lên Heroku Và Sử Dụng Database MongoDB Atlas

Hướng Dẫn Cách Deploy Project NodeJS Lên Heroku Và Sử Dụng Database MongoDB Atlas

Giới Thiệu Chung

Heroku là một nền tảng dưới dạng dịch vụ cho phép các nhà phát triển xây dựng, chạy và vận hành các ứng dụng hoàn toàn trong đám mây.

Mục đích của bài này là giúp các bạn sau khi hoàn thành xong project của mình sẽ được đưa lên internet giúp các bạn có thể chia sẽ project cho tất cả mọi người cùng xem thành quả của mình.


Bắt Đầu Thôi Nào

Tạo App Trên Heroku

Bước 1: Sau khi các bạn đăng ký tài khoản Heroku. Thì các bạn bắt đầu tạo app thôi nào. Các bạn nhấn vào nút 'new' tiếp đến chọn 'create ne;kw app' thì nó sẽ hiển thị một form như thế này các bạn điền đầy đủ thông tipn nhé.
Untitled-5
Bước 2: Sau khi điền đầy đủ thông tin để tạo app bây giờ bạn sẽ thấy phần dashboard để bạn có thể tùy chỉnh app của mình gồm những chức năng chính như: deploy,resources,overview,settings,metrics,...
1_mtsk3fQ_BRemFidhkel3dA-3

Cách Deploy Project Lên Heroku

Bước 1: Các bạn dowload heroku về máy nha link dowload.Mình khuyên các bạn nên dowload thay vì cài npm nha. Tùy vào hệ điều hành các bạn cài đặt sao cho phù hợp nha.
Untitled-7
Bước 2: Các bạn vào folder source code của mình gõ 'cmd' để mở terminal
Untitled-8
Mình sẽ depoy cái project làm chức năng đăng nhập sử dụng NodeJS và MongoDB mà lúc trước mình hướng dẫn các bạn lên heroku cho các bạn cùng tham khảo.
Các bước để deploy project lên heroku:
Nếu các bạn chạy git rồi thì không cần git init nữa
Mà chỉ cần làm các bước còn lại
heroku login
heroku git: remote -a login-me
git add .
git commit -m"finsh-project"
git push heroku master
Untitled-6
Sau khi các bạn push source code lên heroku thì các bạn mở app lên bằng lệnh heroku open hoặc có thể mở app bằng cách click vào nút open app bên trên góc phải màn hình.
Khi các bạn mở app ra thì sẽ thấy nó báo lỗi. Các bạn cứ bình tình từ từ mình sẽ fix được lỗi.
1_mtsk3fQ_BRemFidhkel3dA-4
Các bạn gõ heroku logs để xem nó bị lỗi gì nha
1_mtsk3fQ_BRemFidhkel3dA-6
Các bạn chú ý chỗ mình khoanh lỗi nha nó báo lỗi là: thiếu tập lệnh bắt đầu. Mình các bạn chạy local thì các bạn gõ node app.js nhưng khi bạn deploy lên heroku thì nó sẽ không hiểu là nên chạy cái gì. Thì các bạn fix theo mình nha:
Trong folder source code bạn tạo cho mình file Procfile bên trong bạn thêm cho mình dòng web: node app.js và các bạn xóa lệnh var port = 3000 thay đổi app.listen(port,function(){ console.log('Server listening '+ port) }) thành app.listen(process.env.PORT || 3000)
1_mtsk3fQ_BRemFidhkel3dA-7
Sau khi các bạn thêm file Procfile thì các bạn phải cập nhật những thay đổi bằng lệnh:
git add .
git commit -m"change-deploy"
git push heroku master
Khi các bạn cập nhật code của mình xong rồi gõ heroku open mở lại app nhưng vẫn bị lỗi. Bạn cứ gõ heroku logs rồi xem nó bị lỗi gì nha:
1_mtsk3fQ_BRemFidhkel3dA-8
Thì nó sẽ báo lỗi chưa khởi tạo database MongoDB
Bước 3: Kết nối Database Cho Project
Các bạn đăng ký tài khoản MongoDB Atlas (mỗi tài khoản chỉ được dùng miễn phí một lần thôi nha). Sau khi đăng ký tài khoản xong bạn sẽ được thì bạn sẽ đến phần cấu hình để tạo database.
1_mtsk3fQ_BRemFidhkel3dA-9
Sau khi các bạn cấu hình để tạo database xong thì sẽ đến bước Get Started, các bạn hoàn thành các bước này thì sẽ đến phần connect database.
1-1
Các bạn nhấn vào nút connect tiếp đến nhấn vào phần connect your application 1-2
Tiếp theo là các bạn copy chuỗi kết nối của MongoDB Atlas
1-3
Sau đó add vào phần Config Vars của heroku.
1-8
Thế là xong bây giờ click vào open app để mở app để xem nó có chạy không nha và kết quả là nó có hoạt động các bạn ạ :)
1-5
Các bạn thử đăng ký tài khoản rồi xem thử database nó xuất hiện những gì nha:
1-6
Các bạn click vào Collections sao đó chọn vào phần test để xem database nó có hiển thị gì không nha:
1-7
Các bạn vào đây để xem app mà mình đã deploy lên heroku nha.


Lời Kết

Vậy Là Xong Hướng Dẫn Cách Deploy Project NodeJS Lên Heroku Và Sử Dụng Database MongoDB Atlas rồi nhé. Sau khi thực hiện xong bài này các bạn có thể tự mình deploy dự án nào đó.

Nếu mọi người cảm thấy bài viết này hay thì có thể ủng hộ mình để mình có động lực để ra những bài topic hay và chất lượng hơn ủng hộ mình tại đây nha.

Chúc Các Bạn Thành Công