From 8c3e2723c6651504f3ddca8813b6724beb21f1d4 Mon Sep 17 00:00:00 2001 From: Irwan Cahyono Date: Fri, 8 Aug 2025 01:56:07 +0700 Subject: [PATCH] nginx --- Dockerfile | 14 +++++++------- nginx.conf | 5 ++++- nuxt.config.ts | 8 ++++---- server/plugins/log-error.ts | 9 ++++----- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4f9d4d6..340ef50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,14 +12,14 @@ ENV NUXT_FAIL_ON_ERROR=false RUN npm run generate # Dockerfile untuk server Nuxt 3 -FROM node:24-alpine AS runner +FROM nginx:alpine -WORKDIR /app +# Copy konfigurasi Nginx +COPY nginx.conf /etc/nginx/conf.d/default.conf -RUN npm install -g serve +# Copy hasil build +COPY --from=builder /app/dist /usr/share/nginx/html -COPY --from=builder /app/dist /app/dist +EXPOSE 80 -EXPOSE 3000 - -CMD ["serve", "-s", "dist", "-l", "3000"] +CMD ["nginx", "-g", "daemon off;"] diff --git a/nginx.conf b/nginx.conf index 4d34b69..99fa85a 100644 --- a/nginx.conf +++ b/nginx.conf @@ -19,5 +19,8 @@ server { deny all; } - error_page 404 /index.html; + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } } diff --git a/nuxt.config.ts b/nuxt.config.ts index a1f0b43..b9c4588 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -74,11 +74,11 @@ export default defineNuxtConfig({ ssr: false, nitro: { + preset: 'static', // Generate file static prerender: { - failOnError: false, - crawlLinks: true, - ignore: ['/'] + failOnError: false, // Skip error saat generate + ignore: ['/dynamic-route'] // Ignore route tertentu } - } + }, }); \ No newline at end of file diff --git a/server/plugins/log-error.ts b/server/plugins/log-error.ts index b93de8d..8561c01 100644 --- a/server/plugins/log-error.ts +++ b/server/plugins/log-error.ts @@ -1,7 +1,6 @@ -import { defineNitroPlugin } from 'nitropack' +import { defineEventHandler } from 'h3' +import { createError } from '#imports' -export default defineNitroPlugin((nitroApp) => { - nitroApp.hooks.hook('error', (error, event) => { - console.error('[Nitro Error]', error) - }) +export default defineEventHandler((event) => { + console.log('[Middleware] Incoming request:', event.path) }) \ No newline at end of file