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
(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
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
Then use git to synchronize the code:
$ git init $ git add . $ git commit -m "init"
Create heroku app:
$ heroku create sample9527
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
(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
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
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
Or directly use the restart command to restart the service when needed:
$ heroku restart
Heroku’s basic gameplay is basically these, simple enough, right? Go try it yourself.