This page looks best with JavaScript enabled

Running GraphQL Server Using Node.JS & Express on Linux Hosting Server

 ·  β˜• 3 min read  ·  ✍️ Adesh

Introduction

Here I am going to show you how to setup GraphQL server and run it from a Linux hosting server. Connect your Linux server using SSH Shell command. As I am using an A2Hosting server, I am going to use this SSH command in my terminal windows.

Prerequisites

Before starting, make sure you have Node.JS and NPM is installed on your server environment. If you haven’t installed on your server, you check below link as well.

Install Node.js and NPM on hosting server

Once you have Node.JS and NPM installed on your server, let’s get started with SSH command in your terminal. Keep your SSH credentials in hand. Open your terminal window and type this command.

1
ssh -p port user@domain

It will ask your server password, and allow you to enter your server path.

Install Express and GraphQL

Install Express and GraphQL on your server using this command.

1
npm install express express-graphql graphql --save

I have installed GraphQL in my subdomain services.zeptobook.com.

Create Server File

Let’s create graphserver.js file and upload it to the your server folder.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var express = require("express");
var graphqlHTTP = require("express-graphql");
var { buildSchema } = require("graphql");

// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// The root provides a resolver function for each API endpoint
var root = {
  hello: () => {
    return "Hello world!";
  },
};

var app = express();
app.use(
  "/graphql",
  graphqlHTTP({
    schema: schema,
    rootValue: root,
    graphiql: true,
  })
);
app.listen(49500);
console.log("Running a GraphQL API server at serverurl/graphql");

In order to handle GraphQL queries, we need to first create a schema that has a Query type, and we need an API root with a function called a resolver for each API endpoint. So, create this server file and deploy it on your server folder using either an FTPΒ tool or cPanel window.

Run Your GraphQL Server

Now, once you deploy your server file on the server, run this command on your server using ssh command.

1
node graphserver.js

It will show this console message.

Running a GraphQL API server at serverurl/graphql

graphql node command

Now, we are all set. It is time to test our GraphQL server. Run your server service url in the browser like this:

graphql server on linux

Fire Query

Now, our GraphQL server is up, let’s query our data using this command in the left side of the window, and click on the Run arrow button.

1
2
3
{
  hello;
}

The output will be in the right side of the window.

1
2
3
4
5
{
   "data": {
     "hello": "Hello world!"
   }
 }

graphql query

Using Chrome POSTMAN

graphql query using postman

Using Curl Command

1
2
3
4
curl -X POST \
-H "Content-Type: application/json" \
-d '{"query": "{ hello }"}' \
services.zeptobook.com:49500/graphql

Congratulations – Your GraphQL server is up.

Summary

So, in this post, we see how to setup GraphQL on our Linux hosting server. I will create posts on GraphQL in the upcoming month.

Further Reading

Destructuring In JavaScript Can Make Your Code Short And Cleaner

What is GraphQL? An Inside look at GraphQL

How to create Restful CRUD API with Node.js MongoDB and Express.js

Share on

Adesh
WRITTEN BY
Adesh
Technical Architect