This tutorial will show you how to install Node.js and Express.js on CentOS 6 (or CentOS 7). You can use Node.js to build rapid, scalable web apps with JavaScript. Installation is very easy – just follow the steps below. Most of the work is done for you by the YUM package manager.
You will want to download the latest stable version of Node.js, which can be done by running the command below. It runs a script that automatically steps you through the installation process. The script is downloaded directly from Joylent (the makers of Node.js) at their NodeSource repository.
cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -
Once the script detects that you do not have Node.js installed, enter the following command to begin the install via the yum package manager.
yum install -y nodejs
To compile and install native Node.js addons from npm (node package manager), you will need to install these build tools. It is not essential, but it will save you some headaches when doing npm install package
in the future.
yum install gcc-c++ openssl-devel make
This will pull Express.js from the repository in npm and automatically install it globally (that’s what the -g
is for).
npm install -g express-generator
For security reasons, create a regular system user and run node under that account. This will help secure your server in the event that a vulnerability is exploited in Node.js.
useradd username
passwd username
This creates a user and sets the password for that account. Now, log back out and log back in as the new user.
express expressproject
cd expressproject
npm install
If all went well, you should see something similar to this:
> expressproject@0.0.0.0 start /exampleuser/expressproject
> node ./bin/www
To fully test it, launch your web-browser and type the IP address of your VPS at port 3000 in the URL bar. It should look similar to this (replace 0.0.0.0 with your VPS IP):
http://0.0.0.0:3000
When you navigate to that URL, you will see the message Welcome to Express
on the page.
Congratulations! You’ve now setup Node.js with Express! Go forth and create awesome things!