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

WBOY
Release: 2016-05-16 16:40:46
Original
1386 people have browsed it

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.

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template