---
title: "Next.js स्टैटिक एक्सपोर्ट डिप्लॉय करें"
description: "output export, nginx Dockerfile, पोर्ट 80 और असली 404 के साथ Lizard पर Next.js स्टैटिक एक्सपोर्ट डिप्लॉय करें। जानें कि किन फ़ीचर्स के लिए अब भी Node.js सर्वर चाहिए।"
url: https://lizard.build/hi/docs/framework-guides/nextjs/static-export/
updated: 2026-10-25
---

# Next.js स्टैटिक एक्सपोर्ट डिप्लॉय करें

Next.js स्टैटिक एक्सपोर्ट `out/` में HTML, JavaScript और एसेट्स बनाता है। उस डायरेक्टरी को nginx Dockerfile के साथ Lizard पर डिप्लॉय करें। यह तरीका उन पेजों के लिए है जिन्हें पहले से बिल्ड किया जा सकता है; रिक्वेस्ट-टाइम सर्वर फ़ीचर्स के लिए [Node.js सर्वर गाइड](https://lizard.build/hi/docs/framework-guides/nextjs.md) देखें।

## एक्सपोर्ट कॉन्फ़िगर करें

ये ऑप्शन `next.config.mjs` में मर्ज करें:

```js
/** @type {import('next').NextConfig} */
const nextConfig = {
  output: 'export',
  trailingSlash: true,
  images: { unoptimized: true },
};

export default nextConfig;
```

`package.json` में `"build": "next build"` रहने दें। यह उदाहरण सीधे एक्सपोर्ट की गई इमेज इस्तेमाल करता है; बाहरी इमेज लोडर भी एक विकल्प है। सभी ज़रूरी डायनामिक रूट पैरामीटर बिल्ड के दौरान ही जेनरेट करें। रिक्वेस्ट-टाइम कुकीज़, Server Actions और ऐसे दूसरे फ़ीचर्स, जिन्हें चालू Next.js सर्वर चाहिए, इस स्टैटिक कंटेनर में नहीं चल सकते। आपका ऐप जिन फ़ीचर्स का उपयोग करता है, उन्हें [Next.js स्टैटिक एक्सपोर्ट रेफ़रेंस](https://nextjs.org/docs/app/guides/static-exports) से मिलाकर देखें।

## पूरा Dockerfile जोड़ें

Next.js की ऑटो-डिटेक्शन वाली प्रक्रिया Node सर्वर की उम्मीद करती है। आउटपुट को `out/` पर सेट करने से बिल्ड nginx पर स्विच नहीं होता। यह Dockerfile ऐप के रूट में जोड़ें; यह मानकर चलता है कि आप npm इस्तेमाल करते हैं और `package-lock.json` कमिट की हुई है:

```dockerfile
FROM node:22-slim AS build
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM nginx:alpine
COPY --from=build /app/out /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
```

इसी के पास `nginx.conf` बनाएँ:

```nginx
server {
  listen 80;
  server_name _;
  root /usr/share/nginx/html;
  index index.html;
  location / {
    try_files $uri $uri/ =404;
  }
  error_page 404 /404.html;
  location = /404.html {
    internal;
  }
}
```

ट्रेलिंग-स्लैश वाला एक्सपोर्ट हर रूट के लिए `index.html` वाली डायरेक्टरी बनाता है। nginx का नियम इन डायरेक्टरीज़ को सर्व करता है और न मिलने वाले पाथ के लिए HTTP 404 लौटाता है। `.dockerignore` में `node_modules`, `.next`, `out`, `.git` और `.env*` जोड़ें, और लोकल बिल्ड फ़ाइलों को अपलोड से बाहर रखें।

## बिल्ड और डिप्लॉय करें

```bash
npm ci
npm run build
```

जाँचें कि `out/index.html` और कोई अपेक्षित अंदरूनी रूट मौजूद है। अगर आपके पास Docker है, तो सर्वर को लोकल रूप से टेस्ट करें:

```bash
docker build -t nextjs-static .
docker run --rm -p 8080:80 nextjs-static
```

[CLI सेटअप](https://lizard.build/hi/docs/framework-guides.md#prepare-the-project) के बाद नई सर्विस पर डिप्लॉय करें:

```bash
lizard init --name nextjs-static
lizard add --service web
lizard up --service web --port 80
lizard logs --build --service web --json
lizard ps --json
```

पूरे Dockerfile में npm बिल्ड स्टेप है, जिसे lizardpack पहचान सकता है। मौजूदा सर्विस पर Dockerfile चुनने से पहले टकराने वाले बिल्ड/स्टार्ट ओवरराइड देखें और हटाएँ; [बिल्ड का निर्णय-क्रम](https://lizard.build/hi/docs/concepts/build-pipeline.md#build-decision-order) देखें।

## रूट्स और अपडेट्स की जाँच करें

लाइव होम पेज, एक्सपोर्ट किया गया कोई अंदरूनी रूट, कोई JavaScript एसेट और एक ऐसा पाथ जो मौजूद नहीं है, इन सबकी रिक्वेस्ट भेजें। न मौजूद पाथ को HTTP 404 लौटाना चाहिए, न कि HTTP 200 के साथ होम पेज। [स्टैटिक रूट्स और 404](https://lizard.build/hi/docs/framework-guides/static-routing.md#verify-http-responses) में दिए गए चेक इस्तेमाल करें।

एक्सपोर्ट किए गए कंटेंट में किसी भी बदलाव के लिए नया बिल्ड चाहिए। रनटाइम एनवायरनमेंट वेरिएबल्स `out/` में पहले से लिखी वैल्यू नहीं बदल सकते। पब्लिक बिल्ड वेरिएबल्स को बिल्ड स्टेज में `RUN npm run build` से पहले `ENV` लाइनों के रूप में लिखें। Lizard `COMMIT_SHA` के अलावा कोई बिल्ड आर्गुमेंट पास नहीं करता, इसलिए `ARG` खाली रहता है। एक्सपोर्ट किए गए बंडल में कभी भी प्राइवेट क्रेडेंशियल्स न रखें।

9 सितंबर 2026 के डिप्लॉयमेंट चेक और उनकी सीमाओं के लिए [टेस्ट किए गए वर्ज़न और क्लाउड नतीजे](https://lizard.build/hi/docs/framework-guides/validation.md) देखें।
