<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz" -->

---
title: Deploy Your Node.js App in Minutes: Public IP + Nginx on...
description: Learn how to deploy a Node.js application on Ubuntu using Nginx as a reverse proxy with just your server&#x27;s public IP address.
canonical: https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Deploy Your Node.js App in Minutes: Public IP + Nginx on Ubuntu ⚡ | daily.dev
og:description: Learn how to deploy a Node.js application on Ubuntu using Nginx as a reverse proxy with just your server&#x27;s public IP address.
og:url: https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz
og:image: https://api.daily.dev/og/posts/Tbgy72oOZ.png
og:image:alt: Deploy Your Node.js App in Minutes: Public IP + Nginx on Ubuntu ⚡
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy Your Node.js App in Minutes: Public IP + Nginx on Ubuntu ⚡

**[DEV](https://daily.dev/sources/devto)** · 4 min read · 84 upvotes · 8 comments

## Summary

Learn how to deploy a Node.js application on Ubuntu using Nginx as a reverse proxy with just your server's public IP address.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://dev.to/abhinavk454/deploy-your-nodejs-app-in-minutes-public-ip-nginx-on-ubuntu-18nn>

## Community discussion

Top comments from developers on daily.dev.

**@briann\_bn** · 1 upvotes

> Wow 😲 wonderful article from a wonderful engineer .

**@abhishek33** · 1 upvotes

> is this free or paid?

**@vyhungle** · 0 upvotes

> thanks you

**@neeraj2** · 0 upvotes

> is it possible to deploy nodejs project in shared hosting cpanel???

**@alexcampo** · 0 upvotes

> Running the node application in cluster mode using PM2 is very easy. the below command is enough for doing that.
>
> $ pm2 start index.js -i max
>
> This above command will create the clusters (child process). counts of clusters will differ based on the core. In my system, it will create eight instances because here the core is four.
> If you want to create specific instances, you can do that also by using the below command. here what we need to do is, instead of passing the argument max, need to pass the specific number.
>
> $ pm2 start index.js -i 4

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#javascript](https://daily.dev/tags/javascript), [#nodejs](https://daily.dev/tags/nodejs), [#cicd](https://daily.dev/tags/cicd), [#ubuntu](https://daily.dev/tags/ubuntu), [#nginx](https://daily.dev/tags/nginx)

[View this post on daily.dev](https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Deploy Your Node.js App in Minutes: Public IP + Nginx on Ubuntu ⚡","url":"https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz"},"datePublished":"2024-04-28T14:23:39.070Z","dateModified":"2024-05-09T08:39:06.345Z","description":"Learn how to deploy a Node.js application on Ubuntu using Nginx as a reverse proxy with just your server's public IP address.","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/22bee87fd44ea05a9c0803cb22e9baae?_a=AQAEuiZ","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/22bee87fd44ea05a9c0803cb22e9baae?_a=AQAEuiZ","isAccessibleForFree":true,"articleSection":"DEV","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DEV","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto","url":"https://daily.dev/sources/devto"},"commentCount":8,"discussionUrl":"https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":84},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":8}],"keywords":"webdev,javascript,nodejs,cicd,ubuntu,nginx","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DEV","item":"https://daily.dev/sources/devto"},{"@type":"ListItem","position":3,"name":"Deploy Your Node.js App in Minutes: Public IP + Nginx on Ubuntu ⚡"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/deploy-your-node-js-app-in-minutes-public-ip-nginx-on-ubuntu--tbgy72ooz","comment":[{"@type":"Comment","text":"Wow 😲 wonderful article from a wonderful engineer .","datePublished":"2024-05-24T20:14:35.314Z","url":"https://daily.dev/posts/Tbgy72oOZ#c-OPcJuXckE","author":{"@type":"Person","name":"Brian Njoroge","url":"https://daily.dev/briann_bn","image":"https://media.daily.dev/image/upload/s--0Nksg5wk--/f_auto/v1716191670/avatars/avatar_z4Awl6x8p05RvkxHAGXaO"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"is this free or paid?","datePublished":"2024-04-29T20:27:35.568Z","url":"https://daily.dev/posts/Tbgy72oOZ#c-gd0IWFzlg","author":{"@type":"Person","name":"Abhishek","url":"https://daily.dev/abhishek33","image":"https://lh3.googleusercontent.com/a/ACg8ocJxiS1mrHpk0zNqznoKtG6Dl4rpizuLnkrevq5ur7OXCg=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"thanks you","datePublished":"2024-05-25T02:28:59.952Z","url":"https://daily.dev/posts/Tbgy72oOZ#c-Wlekb0tUP","author":{"@type":"Person","name":"vyhungle","url":"https://daily.dev/vyhungle","image":"https://lh3.googleusercontent.com/a/ACg8ocL85q3fQ34I2JMKtdrG7nJN5Bw5kDyeY5XOxq9s5Wh1vbGYtMUC=s96-c"}},{"@type":"Comment","text":"is it possible to deploy nodejs project in shared hosting cpanel???","datePublished":"2024-05-06T03:58:09.430Z","url":"https://daily.dev/posts/Tbgy72oOZ#c-SDNUAuzZN","author":{"@type":"Person","name":"Neeraj","url":"https://daily.dev/neeraj2","image":"https://media.daily.dev/image/upload/s--7V7Yvpa---/f_auto/v1714106101/avatars/avatar_ifGTNH2VEfIFe0kepD1yV"}},{"@type":"Comment","text":"Running the node application in cluster mode using PM2 is very easy. the below command is enough for doing that.\n$ pm2 start index.js -i max\nThis above command will create the clusters (child process). counts of clusters will differ based on the core. In my system, it will create eight instances because here the core is four.\nIf you want to create specific instances, you can do that also by using the below command. here what we need to do is, instead of passing the argument max, need to pass the specific number.\n$ pm2 start index.js -i 4","datePublished":"2024-08-11T08:33:38.923Z","url":"https://daily.dev/posts/Tbgy72oOZ#c-yASXGYutZ","author":{"@type":"Person","name":"Alex Madueno Del Campo","url":"https://daily.dev/alexcampo","image":"https://lh3.googleusercontent.com/a/ACg8ocLwKfhuQfk1Lzk6UQ0Iojb-JeE8-A26POozBeKZVRsYq8ahLUxN=s96-c"}}]}
```

