Hướng dẫn deploy node js mongodb to heroku - triển khai nút js mongodb tới heroku

Một cheatsheet với tất cả các lệnh bạn cần

Hình ảnh từ Heroku.com

Về hướng dẫn này

Đây không phải là một hướng dẫn đầy đủ với các giải thích về những gì đang xảy ra ở mỗi bước.

Đây là một trò gian lận để phục vụ như một tài liệu tham khảo của tất cả các lệnh bạn sẽ cần khi đẩy ứng dụng Node.js / MongoDB / Mongoose của bạn vào Heroku.

Lưu ý: Hướng dẫn này giả định rằng bạn đã thiết lập Git. Nếu bạn không có, hãy làm theo hướng dẫn của tôi cách thiết lập Git cho một dự án hiện có.

Thiết lập Procfile của bạn

Trước khi đẩy đến Heroku, chúng tôi sẽ phải tạo một tập tin có tên là Procfile, điều đó cho phép Heroku biết cách chạy trang web của bạn. Truy cập REPO dự án của bạn và tạo tệp đó trong gốc của repo:Procfile, that lets Heroku know how to run your website. Go to your project repo and create that file in the root of the repo:

$ cd ~/projects/path-to-your-project-folder
$ touch Procfile

Bên trong Procfile Thêm như sau:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead

Thiết lập dự án Heroku của bạn

Nếu bạn không có một tài khoản Heroku miễn phí. Đó là một dịch vụ miễn phí - nhưng kể từ tháng 1 năm 2019 - bạn phải nhập chi tiết thẻ tín dụng của mình để đăng ký.

Cài đặt giao diện dòng lệnh Heroku nếu bạn chưa có (hướng dẫn).

Tạo một ứng dụng Heroku và đặt tên cho nó:

$ heroku create unique-project-name

Kiểm tra xem nó có hoạt động bằng cách chạy lệnh sau không:

$ git remote -v

Bạn sẽ thấy một cái gì đó như thế này:

$ git remote -v 
heroku https://git.heroku.com/unique-project-name.git (fetch)
heroku https://git.heroku.com/unique-project-name.git (push)
origin :nsafai/Your-Git-Repo.git (fetch)
origin :nsafai/Your-Git-Repo.git (push)

Đẩy Procfile của bạn đến Heroku

$ git add . 
$ git commit -m “setting up to push to Heroku”
$ git push heroku master

Quay một máy chủ

Gán một máy chủ miễn phí để chạy trang web:

$ heroku ps:scale web=1

Thiết lập cơ sở dữ liệu sản xuất của bạn

Tạo cơ sở dữ liệu để lưu trữ dữ liệu sản xuất của bạn:

$ heroku addons:create mongolab:sandbox

Nếu bạn đã không có, hãy đảm bảo tệp app.js hoặc server.js của bạn có dòng mã chính xác để kết nối với DB sản xuất của bạn:app.js or server.js file has the correct line of code to connect to your production DB:

// app.js or server.js// connect Mongoose to your DB
var mongoose = require(‘mongoose’);
mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost/your-app-name');

Lưu ý: Bạn có thể cần cài đặt gói NPM dotenv cho các bên trên hoạt động chính xác: you may need to install the dotenv npm package for the above to work correctly:

  • Chạy
    web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
    7or
    web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
    8
  • Nhập dotenv ở đầu tệp app.js / server.js của bạn:app.js / server.js file:
// app.js or server.js
require('dotenv').config()
// REST OF YOUR CODE

Định cấu hình cài đặt cổng của bạn

Đặt cảng vào cảng sản xuất Heroku. Trong tệp app.js của bạn (hoặc đôi khi, tệp bin/www/server.js), thay đổi ứng dụng của bạn.app.js file (or sometimes, bin/www/server.js file), change your app.listen to the following:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
0

Đẩy mã của bạn lên GitHub:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
1

Đẩy mã của bạn lên Heroku:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
2

Đẩy các biến .ENV của bạn vào Heroku (nếu bạn có bất kỳ):

Đối với mỗi biến env, bạn có thể đẩy nó lên bằng cách sử dụng:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
3

Hoặc, nếu bạn thấy nó dễ dàng hơn, bạn có thể truy cập https://dashboard.heroku.com/apps/your_app_name/sitings và cung cấp các biến .ENV thông qua giao diện web Heroku.

Đó là nó, hãy kiểm tra nếu nó hoạt động!

Băng qua ngón tay của bạn và xem nó có hoạt động bằng cách sử dụng lệnh không:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
4

Ứng dụng của bạn có trên web! 🔥🙌🎊🎉🥂🔥🙌🎊🎉🥂

Ôi không! Bạn đang xem trang này?

Cổ điển. Hầu như mọi người đều thấy đây là lần đầu tiên họ đẩy ứng dụng của họ đến Heroku

Nếu bạn thấy màn hình ở trên, hãy chạy lệnh này:

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
5

Cuộn lên đầu nhật ký lỗi và Google từng cái một.

Nếu bạn bị mắc kẹt và có thể giải quyết vấn đề bằng Google, hãy bình luận bên dưới với tình huống của bạn và những gì bạn đã thử và tôi sẽ cố gắng hết sức để giúp đỡ.

Tín dụng để làm cho trường học cho bài viết gốc mà tôi đã lấy cảm hứng từ đó.

Hướng dẫn deploy node js mongodb to heroku - triển khai nút js mongodb tới heroku

Hướng dẫn này có nghĩa là giúp bất cứ ai đang lưu trữ ứng dụng NodeJS sử dụng cơ sở dữ liệu MongoDB. Nếu bạn đã kiểm tra hướng dẫn Heroku khác của tôi bằng PostgreSQL, thì hướng dẫn này sẽ chỉ là một miếng bánh.

Trong mọi trường hợp, tôi sẽ cho rằng bạn ở đây lần đầu tiên, vì vậy tôi sẽ điều hành bạn thông qua một quy trình mới bắt đầu. Chúng tôi sẽ lưu trữ ứng dụng xác thực mà chúng tôi đã hoàn thành trong hướng dẫn cuối cùng.

  1. Sao chép dự án ở đây.
  2. Xóa tệp
    web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
    9 có thể đi kèm với nó. Một tệp
    web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
    9 khác sẽ được tạo cho bạn trong quá trình bạn đẩy sang GitHub.

Vì vậy, không có gì khó chịu, chúng ta hãy bị bẩn tay.

Hướng dẫn deploy node js mongodb to heroku - triển khai nút js mongodb tới heroku

Tải lên GitHub

Tải lên hoặc đẩy lên GitHub cũng dễ dàng như dùng bữa ăn yêu thích của bạn. Vui lòng kiểm tra bất kỳ liên kết nào sau đây để được hướng dẫn về cách đẩy dự án của bạn từ máy địa phương đến GitHub

  1. Thêm một dự án hiện có vào GitHub bằng dòng lệnh

  2. Thêm một dự án hiện có vào GitHub bằng dòng lệnh

Triển khai đến Heroku

Tôi sẽ làm cho quá trình này dễ dàng đến mức bạn sẽ chỉ mỉm cười trong suốt.

  • Hãy bắt đầu bằng cách tạo một tài khoản trên Heroku

Nếu bạn đã tạo một tài khoản, bạn có thể đã được nhắc tạo một ứng dụng (nghĩa là một thư mục nơi ứng dụng của bạn sẽ được lưu trữ). Tạo ra nó. Của tôi được đặt tên là

$ heroku create unique-project-name
1

  • Truy cập bảng điều khiển của ứng dụng của bạn

  • Chọn phương thức triển khai
    $ heroku create unique-project-name
    2

  • Tìm kiếm và chọn repo
  • Nhấp vào
    $ heroku create unique-project-name
    3

  • Chọn chi nhánh bạn muốn triển khai (trong trường hợp của riêng tôi, đó là nhánh
    $ heroku create unique-project-name
    4)

  • Bật triển khai tự động bằng cách nhấp vào nút

    $ heroku create unique-project-name
    5 như trong hình trên.

  • Nhấp vào nút

    $ heroku create unique-project-name
    6 trong triển khai thủ công

Chúng tôi sẽ không phải làm tất cả những điều này để triển khai tiếp theo

  • Bây giờ bạn có một nút cho bạn biết "xem trang web" sau khi bản dựng hoàn thành. Nhấp vào nó. (Điều này sẽ mở ứng dụng của bạn trong một tab mới)

Hướng dẫn deploy node js mongodb to heroku - triển khai nút js mongodb tới heroku

Ohhh nooooo !!!! MỘT LỖI? LỖI ỨNG DỤNG?

Hướng dẫn deploy node js mongodb to heroku - triển khai nút js mongodb tới heroku

Vâng, nó chỉ là một vấn đề nhỏ. Một cái gì đó bạn không bao giờ nên quên làm trong khi triển khai. Hầu hết các dịch vụ lưu trữ sẽ yêu cầu nó

Sửa lỗi ứng dụng Heroku

Quay trở lại thư mục gốc của dự án của bạn

  • Tạo một tệp và đặt tên nó
    $ heroku create unique-project-name
    7 (nó không có phần mở rộng)
  • Trong tệp, nhập phần sau

web: npm start// note if you're not using npm, you can try something like 'web: node app.js' instead
6

Nhập chế độ FullScreenen EXIT Mode FullScreen

Điều này hướng Heroku đến tệp máy chủ (

$ heroku create unique-project-name
8) là điểm nhập của ứng dụng. Nếu máy chủ của bạn ở trong một tệp khác, vui lòng sửa đổi theo yêu cầu

  • Lưu các tập tin
  • Đẩy các thay đổi mới vào GitHub
  • Đợi 2 đến 5 phút để Heroku tự động phát hiện các thay đổi trong repo GitHub của bạn và thực hiện các thay đổi trên ứng dụng.
  • Bây giờ bạn có thể làm mới trang lỗi đó và xem công việc khó khăn của bạn đang trả hết tiền

Thêm MongoDB

Bạn phải nhận thấy rằng các tuyến khác không hoạt động. Vâng, đó là bởi vì chúng tôi không bao gồm cơ sở dữ liệu của chúng tôi.

Hãy nhớ rằng URL vào cơ sở dữ liệu của chúng tôi nằm trong tệp

$ heroku create unique-project-name
9 của chúng tôi. Nhưng tệp
$ heroku create unique-project-name
9 của chúng tôi không được bao gồm trong dự án của chúng tôi trên GitHub sau khi chúng tôi đẩy nó. Vì vậy, chúng tôi phải trực tiếp thêm URL MongoDB vào ứng dụng Heroku của chúng tôi.

Hãy làm điều đó ...

  • Điều hướng đến các cài đặt của ứng dụng của bạn
    $ git remote -v
    1

  • Cuộn xuống phần
    $ git remote -v
    2
  • Thêm khóa và giá trị của cơ sở dữ liệu của bạn

Đó là tất cả!!! Ứng dụng của bạn sẽ hoạt động tốt ngay bây giờ ...

Kiểm tra

Cách dễ nhất để kiểm tra nếu nó hoạt động là thử điểm cuối đăng nhập

Của tôi đã làm việc!

Sự kết luận

Chúng tôi bắt đầu bằng cách nhân bản một dự án từ hướng dẫn cuối cùng của chúng tôi. Tiếp theo, tôi chỉ cho bạn cách đẩy một dự án vào GitHub. Sau đó, chúng tôi đã tạo ra một ứng dụng Heroku nơi chúng tôi đã tổ chức dự án từ GitHub một cách dễ dàng. Cuối cùng, chúng tôi đã thêm URL cơ sở dữ liệu của chúng tôi vào ứng dụng và ứng dụng của chúng tôi hoạt động hoàn hảo giống như nó hoạt động tại địa phương.

Tôi hy vọng bạn đã tham gia vào từng chút của hướng dẫn này vì tôi đã thích trong khi tạo ra nó.

Hẹn gặp lại các bạn trong hướng dẫn tiếp theo của tôi.

Làm thế nào để bạn triển khai Node JS MongoDB trên Heroku?

Nếu bạn không có, hãy làm theo hướng dẫn của tôi cách thiết lập Git cho một dự án hiện có ...
Thiết lập Procfile của bạn. ....
Thiết lập dự án Heroku của bạn. ....
Đẩy Procfile của bạn đến Heroku. ....
Quay một máy chủ. ....
Thiết lập cơ sở dữ liệu sản xuất của bạn. ....
Đẩy mã của bạn lên GitHub: ....
Đẩy mã của bạn lên Heroku: ...
Đẩy các biến .ENV của bạn đến Heroku (nếu bạn có bất kỳ):.

Tôi có thể triển khai MongoDB trên Heroku không?

MongoDB Atlas tích hợp dễ dàng với các ứng dụng Heroku.Tất cả những gì bạn cần làm là đặt chuỗi kết nối của Atlas Cluster thành biến cấu hình Heroku.. All you need to do is set your Atlas cluster's connection string to a Heroku config variable.

Làm thế nào triển khai API Node JS cho Heroku?

Triển khai nút ...
Prerequisites..
Overview..
Tuyên bố phụ thuộc ứng dụng ..
Chỉ định phiên bản của nút ..
Chỉ định một tập lệnh bắt đầu ..
Xây dựng ứng dụng của bạn và chạy nó cục bộ ..
Làm thế nào để giữ xây dựng các hiện vật ra khỏi git ..
Triển khai ứng dụng của bạn cho Heroku ..

Tôi nên triển khai MongoDB ở đâu?

5 cách khác nhau để triển khai cơ sở dữ liệu miễn phí với MongoDB Atlas..
Sử dụng UI ATLAS Web để triển khai cụm ..
Sử dụng MongoDB CLI để triển khai một cụm ..
Sử dụng API Atlas Admin để triển khai cụm ..
Sử dụng Hashicorp Terraform để triển khai một cụm ..
Sử dụng AWS CloudFormation để triển khai một cụm ..
Conclusion..