Skip to main content

NodeJS Application on OpenShift Giving 503 Error

If you’ve got a Node.js application running on OpenShift, chances are at some point you’ve seen a 503 error when deploying the application.

The OpenShift FAQ tells us to take a look at the log files in this situation.

Looking at the log files for my application, I was getting the following error:
> node app.js
events.js:48
throw arguments[1]; // Unhandled 'error' event
^
Error: listen EACCES
at errnoException (net.js:670:11)
at Array.0 (net.js:756:28)
at EventEmitter._tickCallback (node.js:190:38)
npm info application-name@0.0.1 Failed to exec start script
npm ERR! application-name@0.0.1 start: `node app.js`
npm ERR! `sh "-c" "node app.js"` failed with 1
This error (in OpenShift terms) seems to mean that the server is not listening on the correct port / address.

This can be fixed by ensuring that the Node.js server is configured to use the process.env.OPENSHIFT_NODEJS_PORT and process.env.OPENSHIFT_NODEJS_IP, for example:
app.listen(process.env.OPENSHIFT_NODEJS_PORT || 8080,
process.env.OPENSHIFT_NODEJS_IP);
Specifically, I’ve found that when getting a 503, it means that you haven’t specified an IP address. On OpenShift, Node.js apps seem to need to be supplied an IP address to bind to, a port is not sufficient.

Comments

Popular posts from this blog

A Simple Makefile for a GTK/GTKMM Project

When compiling small applications, its fairly easy just to compile using g++ from the command line. If you’re compiling anything more complex than a single file, its probably easier to use a Makefile. This example Makefile demonstrates how to compile an application that uses the GTKMM library. NAME=my-app CFLAGS=-g -Wall -o $(NAME) GTKFLAGS=`pkg-config --cflags --libs gtkmm-3.0` SRCS=main.cc myapp.cc CC=g++ # Do all all: main # Compile main: $(SRCS) $(CC) $(CFLAGS) $(SRCS) $(GTKFLAGS) # Clean clean: rm -f $(NAME) rm -f *.h~ rm -f *.cc~ rm -f Makefile~ rm -f *.glade~

Changing Default Search Provider in Firefox on Linux Mint

On Linux Mint, the default version of Firefox is installed and configured to allow the following search engines to be queried directly from the address bar: Yahoo! Startpage DuckDuckGo Wikipedia Mint defines these as the default available set of search engines based upon 3 criteria (funding to Linux Mint, privacy support and whether the search engine is non-commercial). Other search engines such as Google, Bing or Twitter, etc. can easily be added into the default version of Firefox however. To add a different search provider, browse to Search Engines At the bottom of the page, click on the icon of the requested search engine, then click on the ... button in the URL bar and select the Add Search Engine option. You then have the option to change the default search engine within Firefox preferences to your new choice.

Eclipse releases Ganymede

The Eclipse Foundation has  released  Ganymede, the latest annual release this time containing 23 Eclipse projects including the Eclipse IDE version 3.4. This latest version of the annual Eclipse release contains many new features including: Equinox P2  - a system to make installations and updated to Eclipse easier JSDT  - A new JavaScript editor Improved JavaScript support for the Business Intelligence and Reporting Tools,  BIRT Graphical database query tools Improved support for Java EE 5 SOA support and many other features. Further information, inclusing webinars and demos can be found on the  project website  . This new release can be downloaded from the  Eclipse web site  .