Docker+Nginx部署vue项目

这篇文章给大家分享一下如何使用Docker+Nginx部署前端vue项目。

第一步:创建vue项目

执行这个命令,创建一个vue项目

npm create vue@3

将vue项目打包

npm run build

此时会看到vue工程中生成了一个dist文件,我们将他上传到服务器中。
在这里插入图片描述

第二步:将dist文件夹打包上传至服务器

我这里将dist文件夹上传到了服务器的/www/wwwroot/vue-app路径下
在这里插入图片描述

第三步:在dist文件夹所在路径下新建Dockerfile文件

#Dockerfile
FROM nginx:latest

第四步: 在dist文件夹所在路径下新建docker-compose.yml文件

# docker-compose.yml
services:
  web:
    # 使用官方 Nginx 镜像
    build: .
    # 为了防止和其他nginx容器冲突,给nginx容器取一个唯一的名字
    container_name: nginx-vue-container

    # 将当前目录下的nginx.conf文件复制到 Nginx 容器的 /etc/nginx/ 目录下
    # 这里假设您的 Nginx 配置文件命名为 nginx.conf
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      # 将当前目录下的dist文件夹中的文件复制到nginx容器的
      - ./dist:/usr/share/nginx/html

    # 映射端口 8080:8080 使得 Nginx 服务可以通过主机的 8080 端口访问
    ports:
      - "8080:8080"

    # 启动 Nginx 服务
    command: ["nginx", "-g", "daemon off;"]

第五步: 在dist文件夹所在目录下新建nginx.conf配置文件

events {
  worker_connections 1024;
}

http {
    include       /etc/nginx/mime.types;
    
    default_type  text/html;

    server {
    
        listen 8080;
        # 配置已解析的域名, 如果需要的话,没有域名可以去掉这一组server
        server_name *.xxx.com;
    
        root /usr/share/nginx/html;
        
        index index.html;
    
        location / {
        	# 如果vue项目使用了history模式的路由, 则务必需要加上此配置, 否则会出现404错误
        	# try_files 指令用于尝试按顺序查找请求的文件或目录,如果找不到,
        	# 最后提供 index.html 文件,这对于单页应用程序(SPA)的路由非常重要。
            try_files $uri $uri/ /index.html;
        }
    }
    
      # 处理 IP 地址请求的 server 块
      server {
        listen 8080;
        
        server_name 127.0.0.1; # 替换为您的服务器 IP 地址
    
        root /usr/share/nginx/html;
    
        index index.html;
    
        location / {
          try_files $uri $uri/ /index.html;
        }
    }
}

现在,服务器上有有这些文件。
在这里插入图片描述
接下来,我们就可以输入命令运行镜像了。

第六步: 在dist文件夹所在目录执行命令构建镜像并运行

  1. 构建镜像
    docker-compose build
  2. 运行镜像
    docker-compose up -d
  3. 查看镜像
    docker-compose ps

如果我们看到nginx服务运行在8080端口,则代表部署成功,现在就可以输入域名或者服务器ip来访问前端页面了。
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员禅心

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

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

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

打赏作者

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

抵扣说明:

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

余额充值