From f43aa5e35f72383f8fa106599e426420d165dc66 Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Sat, 23 Aug 2025 17:15:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E7=BD=B2=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=20docker-compose=20=E4=B8=8E=E5=AE=B9=E5=99=A8=20nginx=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=8C=E6=94=AF=E6=8C=81=20docker=20?= =?UTF-8?q?=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/Dockerfile.frontend | 2 +- deploy/docker-compose.yml | 21 +++++++++++++++++++++ deploy/nginx/docker-chat.conf | 25 +++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 deploy/docker-compose.yml create mode 100644 deploy/nginx/docker-chat.conf diff --git a/deploy/Dockerfile.frontend b/deploy/Dockerfile.frontend index 83d67f9..2b83693 100644 --- a/deploy/Dockerfile.frontend +++ b/deploy/Dockerfile.frontend @@ -7,6 +7,6 @@ RUN npm run build --prefix frontend FROM nginx:stable-alpine COPY --from=builder /app/frontend/dist /usr/share/nginx/html -COPY deploy/nginx/chat.conf /etc/nginx/conf.d/default.conf +COPY deploy/nginx/docker-chat.conf /etc/nginx/conf.d/default.conf EXPOSE 8443 CMD ["nginx", "-g", "daemon off;"] diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml new file mode 100644 index 0000000..32b46ba --- /dev/null +++ b/deploy/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3.8' +services: + backend: + build: + context: . + dockerfile: deploy/Dockerfile.backend + ports: + - "4000:4000" + restart: always + environment: + - NODE_ENV=production + + frontend: + build: + context: . + dockerfile: deploy/Dockerfile.frontend + ports: + - "8443:8443" + restart: always + depends_on: + - backend diff --git a/deploy/nginx/docker-chat.conf b/deploy/nginx/docker-chat.conf new file mode 100644 index 0000000..78e4666 --- /dev/null +++ b/deploy/nginx/docker-chat.conf @@ -0,0 +1,25 @@ +server { + listen 8443; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + location /api/ { + proxy_pass http://backend:4000/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_buffering off; + chunked_transfer_encoding off; + } + + location / { + try_files $uri $uri/ /index.html; + } +}