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

2024-09-08 07:28

本文主要是介绍前端vue项目服务器部署(docker),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

步骤 1: 导入 Nginx Docker 镜像

1、上传 Nginx Docker 镜像

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

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

使用以下命令将 .tar 文件加载为 Docker 镜像:

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

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

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

确认镜像已经导入成功:

docker images

应该可以看到 nginx:alpine 镜像在列表中。

步骤 2: 设置 Docker 项目

1、确保目录结构正确

在你的服务器上确保 /var/v3-admin-vite/ 目录下包含以下内容:

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

- nginx.conf:自定义的 Nginx 配置文件。

- Dockerfile

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

2、编写 Dockerfile

/var/v3-admin-vite/ 下编写或确保已经有如下内容的 Dockerfile

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

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

-static

-app-loading

-cssfavicon.ico

-index.html

因此编写的nginx内容如下:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  110.40.179.182;  # 部署服务器的 IP 地址root /usr/share/nginx/html;  # Nginx 的根目录index index.html;location / {try_files $uri $uri/ /index.html;}location /api/v1/ {proxy_pass http://122.228.26.226:36519/api/v1/; # 你的后端服务地址proxy_set_header Host $host;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;}location /static/ {alias /usr/share/nginx/html/static/;expires 1y;add_header Cache-Control "public, max-age=31536000, immutable";}location /favicon.ico {try_files $uri =404;}location /app-loading.css {try_files $uri =404;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
}

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

1、构建 Docker 镜像

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

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

这将使用 Dockerfile 来构建名为 my-vue-app 的 Docker 镜像。

2、运行 Docker 容器

构建完成后,运行容器:

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

- -d:后台运行容器。

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

- --name my-vue-app-container:将容器命名为 my-vue-app-container

步骤 4: 访问应用

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

http://<服务器IP>

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

指令总结:

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

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

常见问题排查

1、504 Gateway Timeout

如果你依然遇到 504 Gateway Timeout 问题,可能是后端接口无法响应,建议检查:

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

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

2、修改 Nginx 配置后重启

如果你对 nginx.conf 进行了修改,可以通过以下命令重启容器:

docker restart my-vue-app-container

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

docker stop my-vue-app-container
docker rm my-vue-app-container
docker run -d -p 80:80 --name my-vue-app-container my-vue-app

这篇关于前端vue项目服务器部署(docker)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147487

相关文章

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar