{"id":144,"date":"2024-09-19T04:12:54","date_gmt":"2024-01-02T09:43:14","guid":{"rendered":""},"modified":"2025-02-02T00:46:15","modified_gmt":"2025-02-01T23:46:15","slug":"how-to-deploy-a-nestjs-application-with-nginx-on-ubuntu-linux-and-configure","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/how-to-deploy-a-nestjs-application-with-nginx-on-ubuntu-linux-and-configure\/","title":{"rendered":"How to Deploy a NestJS Application with Nginx on Ubuntu Linux and Configure"},"content":{"rendered":"<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<h1>\u00a0<\/h1>\n<h2>Introduction<\/h2>\n<p>NestJS is a framework for building efficient, reliable, and scalable server-side applications with Node.js. In this guide, we&#8217;ll walk through the steps to deploy a NestJS application with Nginx on Ubuntu Linux and configure it for production use.<\/p>\n<h2>Prerequisites<\/h2>\n<p>Before proceeding, ensure you have:<\/p>\n<ol>\n<li>An Ubuntu Linux server<\/li>\n<li>A NestJS application ready for deployment<\/li>\n<li>Basic knowledge of Nginx and Ubuntu server administration<\/li>\n<\/ol>\n<h2>Steps to Deploy a NestJS Application with Nginx<\/h2>\n<ol>\n<ol>\n<li><strong>Install Node.js and npm:<\/strong> If Node.js and npm are not already installed on your Ubuntu server, install them using the following commands:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo apt update\r\nsudo apt install nodejs npm<\/code><\/pre>\n<ol>\n<ol>\n<li><strong>Clone your NestJS application:<\/strong> Clone your NestJS application repository to your Ubuntu server.<\/li>\n<li><strong>Install dependencies and build:<\/strong> Navigate to your NestJS application directory and install dependencies using npm:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>cd \/path\/to\/nestjs-app\r\nnpm install\r\nnpm run build<\/code><\/pre>\n<ol>\n<ol>\n<li><strong>Configure Nginx:<\/strong> Create a new server block configuration file for your NestJS application in Nginx:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo nano \/etc\/nginx\/sites-available\/nestjs-app<\/code><\/pre>\n<p>Inside the file, configure Nginx to proxy requests to your NestJS application:<\/p>\n<pre><code>server {\r\n    listen 80;\r\n    server_name example.com;\r\n\r\n    location \/ {\r\n        proxy_pass http:\/\/localhost:3000;\r\n        proxy_http_version 1.1;\r\n        proxy_set_header Upgrade $http_upgrade;\r\n        proxy_set_header Connection 'upgrade';\r\n        proxy_set_header Host $host;\r\n        proxy_cache_bypass $http_upgrade;\r\n    }\r\n}<\/code><\/pre>\n<ol>\n<ol>\n<li><strong>Enable the server block:<\/strong> Create a symbolic link to enable the server block configuration:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo ln -s \/etc\/nginx\/sites-available\/nestjs-app \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n<ol>\n<ol>\n<li><strong>Test Nginx configuration:<\/strong> Test the Nginx configuration for syntax errors:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo nginx -t<\/code><\/pre>\n<ol>\n<ol>\n<li><strong>Reload Nginx:<\/strong> Reload Nginx to apply the changes:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo systemctl reload nginx<\/code><\/pre>\n<ol>\n<ol>\n<li><strong>Start your NestJS application:<\/strong> Start your NestJS application in production mode:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>npm run start:prod<\/code><\/pre>\n<h2>Conclusion<\/h2>\n<p>Congratulations! You have successfully deployed your NestJS application with Nginx on Ubuntu Linux and configured it for production use. Your application should now be accessible through the Nginx reverse proxy, providing improved performance and security.<\/p>\n<p><a href=\"https:\/\/de.netcloud24.com\/\" target=\"_blank\">Windows VPS Deutschland<\/a><\/p>\n<p><a href=\"https:\/\/es.netcloud24.com\/\" target=\"_blank\">Windows VPS Espa\u00f1a<\/a><\/p>\n<p><a href=\"https:\/\/nl.netcloud24.com\/\" target=\"_blank\">Windows VPS Nederland<\/a><\/p>\n<p><a href=\"https:\/\/it.netcloud24.com\/\" target=\"_blank\">Windows VPS Italia<\/a><\/p>\n<p><a href=\"https:\/\/pt.netcloud24.com\/\" target=\"_blank\">Windows VPS Portugal<\/a><\/p>\n<p><a href=\"https:\/\/it.netcloud24.com\/\" target=\"_blank\">VPS Windows Italia<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS Sverige<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS Norge<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS T\u00fcrkiye<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows RDS (Remote Desktop Services)<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 \u00a0 Introduction NestJS is a framework for building efficient, reliable, and scalable server-side applications with Node.js. In this guide, we&#8217;ll walk through the steps to deploy\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-144","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}