0


前端vue项目服务器部署(docker)

前端vue项目服务器部署(docker)

步骤 1: 导入 Nginx Docker 镜像

1、上传 Nginx Docker 镜像

将你的nginx-alpine.tar包上传到服务器上。假设路径为

  1. /var/v3-admin-vite/nginx-alpine.tar

  1. scp -r "C:\Users\86184\Desktop\v3-admin-vite" root@110.40.179.182:/var/
2、导入 Nginx Docker 镜像

使用以下命令将

  1. .tar

文件加载为 Docker 镜像:

  1. docker load -i /var/v3-admin-vite/nginx-alpine.tar

执行后会显示类似如下的输出,表示镜像已成功加载:

  1. Loaded image: nginx:alpine
3、验证镜像是否加载

确认镜像已经导入成功:

  1. docker images

应该可以看到

  1. nginx:alpine

镜像在列表中。

步骤 2: 设置 Docker 项目

1、确保目录结构正确

在你的服务器上确保

  1. /var/v3-admin-vite/

目录下包含以下内容:

-

  1. dist/

:Vue 项目构建后的静态文件。

-

  1. nginx.conf

:自定义的 Nginx 配置文件。

-

  1. Dockerfile

确保

  1. dist

目录中有你的 Vue 项目的打包内容。

2、编写 Dockerfile

  1. /var/v3-admin-vite/

下编写或确保已经有如下内容的

  1. Dockerfile

  1. # 使用导入的 nginx:alpine 镜像
  2. FROM nginx:alpine
  3. # 将自定义的 Nginx 配置文件复制到容器中
  4. COPY ./nginx.conf /etc/nginx/nginx.conf
  5. # 将 Vue 项目的构建文件复制到 Nginx 的静态资源目录中
  6. COPY ./dist /usr/share/nginx/html
  7. # 暴露 Nginx 的端口
  8. EXPOSE 80
  9. # 启动 Nginx
  10. CMD ["nginx", "-g", "daemon off;"]
3、编写nginx.conf

由于我的Vue 项目构建后的静态文件/var/v3-admin-vite/dist的结构是:

    1. static
    1. app-loading
    1. cssfavicon.ico
    1. index.html

因此编写的nginx内容如下:

  1. worker_processes 1;
  2. events {
  3. worker_connections 1024;
  4. }
  5. http {
  6. include mime.types;
  7. default_type application/octet-stream;
  8. sendfile on;
  9. keepalive_timeout 65;
  10. server {
  11. listen 80;
  12. server_name 110.40.179.182; # 部署服务器的 IP 地址
  13. root /usr/share/nginx/html; # Nginx 的根目录
  14. index index.html;
  15. location / {
  16. try_files $uri $uri/ /index.html;
  17. }
  18. location /api/v1/ {
  19. proxy_pass http://122.228.26.226:36519/api/v1/; # 你的后端服务地址
  20. proxy_set_header Host $host;
  21. proxy_set_header X-Real-IP $remote_addr;
  22. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  23. proxy_set_header X-Forwarded-Proto $scheme;
  24. }
  25. location /static/ {
  26. alias /usr/share/nginx/html/static/;
  27. expires 1y;
  28. add_header Cache-Control "public, max-age=31536000, immutable";
  29. }
  30. location /favicon.ico {
  31. try_files $uri =404;
  32. }
  33. location /app-loading.css {
  34. try_files $uri =404;
  35. }
  36. error_page 500 502 503 504 /50x.html;
  37. location = /50x.html {
  38. root /usr/share/nginx/html;
  39. }
  40. }
  41. }

步骤 3: 构建和运行 Docker 容器

1、构建 Docker 镜像

使用以下命令构建 Docker 镜像:

  1. cd /var/v3-admin-vite
  2. docker build -t my-vue-app .

这将使用 Dockerfile 来构建名为

  1. my-vue-app

的 Docker 镜像。

2、运行 Docker 容器

构建完成后,运行容器:

  1. docker run -d -p 80:80 --name my-vue-app-container my-vue-app

-

  1. -d

:后台运行容器。

-

  1. -p 80:80

:将容器的 80 端口映射到服务器的 80 端口。

-

  1. --name my-vue-app-container

:将容器命名为

  1. my-vue-app-container

步骤 4: 访问应用

部署完成后,可以通过访问服务器的 IP 地址在浏览器中查看应用。

  1. http://<服务器IP>

此时,如果没有错误,应该能看到你的 Vue 项目正常运行。

指令总结:

在服务器上执行以下指令即可部署完成:

  1. docker load -i /var/v3-admin-vite/nginx-alpine.tar
  2. cd /var/v3-admin-vite
  3. docker build -t my-vue-app .
  4. docker run -d -p 80:80 --name my-vue-app-container my-vue-app

常见问题排查

1、504 Gateway Timeout

如果你依然遇到

  1. 504 Gateway Timeout

问题,可能是后端接口无法响应,建议检查:

  • 后端服务是否正常运行。

  • Nginx 的代理配置是否正确,尤其是代理地址和端口。

2、修改 Nginx 配置后重启

如果你对

  1. nginx.conf

进行了修改,可以通过以下命令重启容器:

  1. docker restart my-vue-app-container

或者停止并重新运行容器:

  1. docker stop my-vue-app-container
  2. docker rm my-vue-app-container
  3. docker run -d -p 80:80 --name my-vue-app-container my-vue-app
标签: 前端 vue.js 服务器

本文转载自: https://blog.csdn.net/m0_46122129/article/details/141995608
版权归原作者 Think-killer 所有, 如有侵权,请联系我们删除。

“前端vue项目服务器部署(docker)”的评论:

还没有评论