Node.js¶
Node.js is a popular Javascript runtime that can power web applications. Opalstack provides a simple installer that creates a very basic Node.js web application.
Installation¶
To install a Node.js application follow our general instructions for adding applications and select "Node.js" as the application type in step 5.
When the installation is complete, the following files and directories will be present in the application directory:
startandstopscripts to control the operation of your application.tmp: a directory containing temporary files used by your applicationmyproject: a basic Node.js "Hello World" web applicationREADME: basic info regarding the new application.
Complete the setup by adding the application to a site.
Deploying your own Node.js project¶
To serve your own project from your installed Node.js application:
-
Upload your project directory to the root of your application directory, for example
/home/username/apps/appname. You can upload your project via SFTP or with commandline tools such asscporrsync. -
Log in to a SSH session and activate the application's Node.js environment:
cd ~/apps/appname source scl_source enable nodejs20 -
Switch into your project directory to install your project dependencies. For example if you use
npm:cd ~/apps/appname/projectname npm install -
Edit the app's
startscript to use the command that you use to start your app. The specific changes you make depend on your app but generally:- Change the
PROJECTvariable to the name of your project directory. - Change the
STARTCMDvariable to the full command that you use to start your app. Note that the full path to the command executable is required.
- Change the
Installing Node.js tools in your home directory¶
Node.js tools can be installed in your shell user home directory, separately from any specific applications, by creating the necessary configuration for npm in your shell user home directory.
To do so, log into a SSH session as your shell user and run the following commands:
mkdir -p ~/.npm
echo 'prefix=~/.npm' >> ~/.npmrc
echo 'source scl_source enable nodejs20' >> ~/.bashrc
echo 'export PATH="$PATH:$HOME/.npm/bin"' >> ~/.bashrc
source ~/.bashrc
You'll then be able to install npm packages globally in your home directory with npm. For example, to install PM2 to manage several applications, log in to your SSH session and run:
npm install -g pm2
