{
  "title": "Deploy Node on Digital Ocean with PM2",
  "slug": "deploy-node-with-digital-ocean-and-pm2",
  "collection": "blog",
  "contentType": "Blog post",
  "description": "Learn how to create a backend Node.js server and deploy it on Digital Ocean with a popular Node process manager called PM2",
  "summary": "Learn how to create a backend Node.js server and deploy it on Digital Ocean with a popular Node process manager called PM2",
  "author": {
    "name": "Anthony Campolo"
  },
  "source": {
    "originalUrl": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/"
  },
  "publishedAt": "2021-06-12T00:00:00.000Z",
  "updatedAt": null,
  "freshness": {
    "label": "Published",
    "value": "2021-06-12T00:00:00.000Z"
  },
  "urls": {
    "html": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/",
    "markdown": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/index.md",
    "json": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/index.json"
  },
  "headings": [
    {
      "depth": 2,
      "id": "introduction",
      "text": "Introduction"
    },
    {
      "depth": 2,
      "id": "create-node-app-with-pm2",
      "text": "Create Node App with PM2"
    },
    {
      "depth": 3,
      "id": "create-http-server",
      "text": "Create HTTP Server"
    },
    {
      "depth": 3,
      "id": "start-server-on-localhost",
      "text": "Start Server on Localhost"
    },
    {
      "depth": 3,
      "id": "configure-node-app-for-pm2",
      "text": "Configure Node App for PM2"
    },
    {
      "depth": 3,
      "id": "create-github-repository",
      "text": "Create GitHub Repository"
    },
    {
      "depth": 2,
      "id": "deploy-linux-server-on-digital-ocean-droplet",
      "text": "Deploy Linux Server on Digital Ocean Droplet"
    },
    {
      "depth": 3,
      "id": "setup-ssh-keys",
      "text": "Setup SSH Keys"
    },
    {
      "depth": 3,
      "id": "generate-an-rsa-key-pair",
      "text": "Generate an RSA Key Pair"
    },
    {
      "depth": 3,
      "id": "create-a-password",
      "text": "Create a Password"
    },
    {
      "depth": 3,
      "id": "copy-key-to-the-clipboard",
      "text": "Copy Key to the Clipboard"
    },
    {
      "depth": 3,
      "id": "choose-a-hostname",
      "text": "Choose a Hostname"
    },
    {
      "depth": 3,
      "id": "login-to-server-from-terminal",
      "text": "Login to Server from Terminal"
    },
    {
      "depth": 3,
      "id": "enter-password",
      "text": "Enter Password"
    },
    {
      "depth": 2,
      "id": "install-server-dependencies-and-start-server",
      "text": "Install Server Dependencies and Start Server"
    },
    {
      "depth": 3,
      "id": "install-node",
      "text": "Install Node"
    },
    {
      "depth": 3,
      "id": "clone-github-repository-and-install-node-modules",
      "text": "Clone GitHub Repository and Install Node Modules"
    },
    {
      "depth": 3,
      "id": "start-app-as-a-process-with-pm2",
      "text": "Start App as a Process with PM2"
    }
  ],
  "tags": [
    "backend",
    "deployment"
  ],
  "discovery": {
    "apiIndex": "https://ajcwebdev.com/api/index.json",
    "llmsTxt": "https://ajcwebdev.com/llms.txt",
    "llmsFullTxt": "https://ajcwebdev.com/llms-full.txt",
    "sitemapMd": "https://ajcwebdev.com/sitemap.md",
    "sitemapXml": "https://ajcwebdev.com/sitemap.xml"
  },
  "nextActions": [
    {
      "action": "open_html",
      "url": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/",
      "method": "GET",
      "accept": "text/html"
    },
    {
      "action": "get_markdown_twin",
      "url": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/index.md",
      "method": "GET",
      "accept": "text/markdown"
    },
    {
      "action": "get_json_twin",
      "url": "https://ajcwebdev.com/deploy-node-with-digital-ocean-and-pm2/index.json",
      "method": "GET",
      "accept": "application/json"
    }
  ]
}