Home Web Front-end JS Tutorial Teach you to deploy Node.js applications on heroku cloud platform_node.js

Teach you to deploy Node.js applications on heroku cloud platform_node.js

May 16, 2016 pm 04:40 PM
node.js

Although AWS has now launched its own PaaS platform called Elastic Beanstalk, the advantage of heroku is that it has many third-party add-ons, such as MongoDB, mysql, redis, memcached, and various message queues, SMS and email, background batch processing, search, automated monitoring and other plug-ins are much better than AWS from the perspective of ecological environment.

This means that there is a ready-made Node.js PaaS running environment on Heroku, as well as many add-ons. Data will be automatically backed up to AWS S3 every day. You only need to use the git command to push the code up. , don’t worry about anything else. For us programmers, is there anything more exciting in the world than this?

So, in order to benefit netizens, I will summarize a few small steps of deployment today.

Assume that you already have a node.js application called sample. The code is placed in /Home/Apps/sample9527. There is your server-side core js file server.js in the directory. Now you have cd to this directory. .

In order for Heroku to recognize your application, you need to add a file Procfile in this directory, the content is a line of code:

web: node server.js

Copy after login

(The web: node here tells Heroku that what you want to deploy is a node.js web application, and the server.js behind it is the name of your server-side core program code file)

Okay, now the deployment can begin.

First, you need to register a user on www.heroku.com. The username is your email address. Then install Heroku Toolbelt, which is a command line tool that allows you to use commands directly in the shell to publish code, view system status, modify server configuration, etc.

Then use the heroku login command in the shell to log in and enter your username and password.

$ heroku login

Copy after login

In the first step, you can use the foreman start command to check whether your code can run smoothly on heroku. If you see no errors in the output, it means it is basically normal.

$ foreman start

Copy after login

Then use git to synchronize the code:

$ git init

$ git add .

$ git commit -m "init"

Copy after login

Create heroku app:

$ heroku create sample9527

Copy after login

If no one uses the app name sample9527 on Heroku, then you will create it successfully. The link of the application is http://sample9527.herokuapp.com/. Otherwise, change the name and try again. Or just use heroku create and let it give you a new name.

If you need to install some database plug-ins, you can check what add-ons are available and then add them on the command line. For example, add a MongoDB database provided by MongoLab:

$ heroku addons:add mongolab

Copy after login

(Most add-ons require you to fill in your credit card in the user information, but if you choose the free version, you will not be charged, don’t worry)

Then you can synchronize the program code:

$ git push heroku master

Copy after login

After synchronization, heroku will automatically download and install the necessary dependencies according to the npm configuration, and then start your application.

Now you can go to the application link to see if it is normal. If there is an error, you can check the log on the command line:

$ heroku logs

Copy after login

After modifying the code based on the error information in the log, you can submit the code again:

$ git commit -a -m "update some code"

$ git push heroku master

Copy after login

Or directly use the restart command to restart the service when needed:

$ heroku restart

Copy after login

Heroku’s basic gameplay is basically these, simple enough, right? Go try it yourself.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article

Hot Article

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

An article about memory control in Node An article about memory control in Node Apr 26, 2023 pm 05:37 PM

An article about memory control in Node

Detailed graphic explanation of the memory and GC of the Node V8 engine Detailed graphic explanation of the memory and GC of the Node V8 engine Mar 29, 2023 pm 06:02 PM

Detailed graphic explanation of the memory and GC of the Node V8 engine

Node.js 19 is officially released, let's talk about its 6 major features! Node.js 19 is officially released, let's talk about its 6 major features! Nov 16, 2022 pm 08:34 PM

Node.js 19 is officially released, let's talk about its 6 major features!

Let's talk in depth about the File module in Node Let's talk in depth about the File module in Node Apr 24, 2023 pm 05:49 PM

Let's talk in depth about the File module in Node

Let's talk about the GC (garbage collection) mechanism in Node.js Let's talk about the GC (garbage collection) mechanism in Node.js Nov 29, 2022 pm 08:44 PM

Let's talk about the GC (garbage collection) mechanism in Node.js

What should I do if node cannot use npm command? What should I do if node cannot use npm command? Feb 08, 2023 am 10:09 AM

What should I do if node cannot use npm command?

Let's talk about how to choose the best Node.js Docker image? Let's talk about how to choose the best Node.js Docker image? Dec 13, 2022 pm 08:00 PM

Let's talk about how to choose the best Node.js Docker image?

Let's talk about the event loop in Node Let's talk about the event loop in Node Apr 11, 2023 pm 07:08 PM

Let's talk about the event loop in Node

See all articles