前端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
### 回答1: 在将前端项目部署Docker 中时,你需要执行以下步骤: 1. 创建一个 Dockerfile 文件。Dockerfile 是一个文本文件,用于定义要在 Docker 容器中运行的应用程序所需的各种设置。 2. 在 Dockerfile 中,你需要指定要使用的基础镜像。这可以是一个现有的镜像,例如 node,也可以是你自己创建的镜像。 3. 在 Dockerfile 中,你还需要设置环境变量、工作目录、挂载卷等选项。 4. 在 Dockerfile 中,你还需要指定要执行的命令。这通常是用于安装依赖项、构建前端项目的命令。 5. 在命令行中,使用 `docker build` 命令来构建 Docker 镜像。 6. 使用 `docker run` 命令来运行 Docker 容器。 7. 在浏览器中访问你的前端项目。 请注意,这只是部署前端项目Docker 中的一般流程。实际步骤可能因项目而异。 ### 回答2: Docker是一种容器化技术,可以将应用程序及其依赖项打包成一个独立的可移植容器。使用Docker部署前端项目可以简化开发和部署流程,提高项目的可移植性和可扩展性。 要实现Docker部署前端项目,以下是一些主要的步骤: 1. 创建Dockerfile:在项目根目录下创建一个名为Dockerfile的文件。Dockerfile是一个文本文件,其中定义了构建Docker镜像的指令。 2. 编写Dockerfile指令:在Dockerfile中,可以使用指令来描述Docker镜像的构建过程。以下是一些可能用到的指令: - FROM:指定基础镜像,可以选择官方提供的Node.js镜像。 - WORKDIR:设置工作目录,将之后的指令在此目录下执行。 - COPY:将项目文件复制到镜像中的指定路径。 - RUN:执行一些必要的命令,如安装依赖项、打包项目等。 3. 构建Docker镜像:在终端中执行构建命令,通过Dockerfile构建镜像,例如:docker build -t frontend-image . 4. 运行Docker容器:使用构建好的镜像运行Docker容器,可以指定容器的端口映射等配置,例如:docker run -d -p 8080:80 frontend-image。 5. 验证部署:通过浏览器访问宿主机的地址和映射的端口,能够看到前端应用程序正常运行。 使用Docker部署前端项目可以提供更加独立和可靠的开发环境,避免了直接在开发机上安装各种依赖项和配置的复杂性。同时,将前端项目打包成Docker镜像后,可以在不同的服务器和环境上进行部署,提高了项目的可移植性。此外,Docker还提供了更好的隔离性,使得不同的项目可以在同一个主机上并存,而互不干扰。 ### 回答3: 在使用Docker部署前端项目时,我们可以通过以下步骤来实现编码: 1. 安装Docker:首先,我们需要在本地计算机上安装Docker。可以通过官方网站或其他可靠的渠道下载并安装适合自己操作系统的Docker版本。 2. 编写Dockerfile:在项目的根目录下创建一个名为Dockerfile的文件。Dockerfile是一个文本文件,用于定义如何构建Docker镜像。可以使用文本编辑器打开Dockerfile并编写相关的指令。 3. 定义基础镜像:在Dockerfile中,我们需要指定要使用的基础镜像。对于前端项目,通常会选择一个包含基本Web服务器的镜像,例如nginx。可以使用"FROM"指令来指定基础镜像,例如:"FROM nginx:latest"。 4. 添加项目文件:将前端项目的所有文件添加到Docker镜像中。可以使用"ADD"指令将项目文件复制到镜像中的指定目录中。例如:"ADD . /usr/share/nginx/html"将当前目录的所有文件复制到nginx默认服务目录。 5. 定义端口映射:在Dockerfile中,我们可以使用"EXPOSE"指令定义容器内的服务监听的端口。例如:"EXPOSE 80"将容器的80端口映射到宿主机器上。 6. 构建Docker镜像:使用Docker命令行工具,在命令行中进入到项目目录,并运行"docker build -t frontend:1.0 ."命令来构建镜像。其中,"frontend:1.0"是镜像的名称和标签,可以自行定义。 7. 运行容器:构建完成后,可以使用"docker run -d -p 8080:80 frontend:1.0"命令来创建并运行容器。其中,"8080"是宿主机的端口,"80"是容器内服务的监听端口,"frontend:1.0"是之前构建的镜像名称。 通过以上步骤,我们就可以使用Docker部署前端项目了。在部署完成后,我们可以通过浏览器访问宿主机的"localhost:8080"来访问前端项目。这样可以确保在不同环境中,我们的前端项目能够以一致的方式运行,并且方便部署和迁移。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Think-killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值