window中通过docker部署前端代码

docker部署

  1. 对nginx进行配置
    在项目的根目录下面创建一个default.conf文件
    server {
    listen       8080;
    server_name  localhost; 
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
    // serverPath 为前端访问后台接口的基础url,比如我的proxy_pass为http://192.168.1.5:8039/,此时代理的基础接口地址为:http://192.168.1.5:8039/serverPath/为前缀的接口
    location /serverPath/ {
   #(后端接口地址,端口号也要注意哦,不是80的记得带上端口号,eg:proxy_pass http://本机ip:8088)
            proxy_pass http://192.168.1.5:8039/;
            proxy_set_header Host 127.0.0.1;
        }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
  1. 对docker进行配置
    在项目的根目录下面创建一个Dockerfile文件
//基于 nginx:latest 来进行镜像构建
FROM nginx:latest
//将本地打包生成的项目(dist)文件 复制到nginx的html文件下
COPY dist/  /usr/share/nginx/html/
// 将本地进行的nginx配置替换掉nginx中的默认配置
COPY default.conf /etc/nginx/conf.d/default.conf

  1. 进行部署
    通过docker build -t dockerimage . 命令来将代码打包为docker中的image镜像文件,dockerimage 为你要生成的镜像的名字
    本人使用的镜像名字为 docker1
    即:docker build -t dockerimage .
    运行结果截图:
    在这里插入图片描述

    在这里插入图片描述
    然后通过docker run -p 8086:8080 docker1命令启动生成的镜像,本人在这里将8080端口映射为了8086,该端口号可以自定义,此处的8080default.conf中监听的8080端口。
    在这里插入图片描述
    最后在浏览器中输入:localhost:8087即可看到配置成功的界面
    在这里插入图片描述
    此时只需要在浏览器输入你想要访问的前端地址即可看到相应的界面,如:访问登录页面
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4bfa6c51d97a404db2752aae4218adea.png在这里插入图片描述

参考链接:
https://blog.youkuaiyun.com/Ahairlessman/article/details/123638436
https://blog.youkuaiyun.com/qq_49385719/article/details/129419088

查看docker中配置文件的内容

通过docker exec -it admiring_rhodes /bin/bash命令来查看docker对应容器中文件的配置,其中admiring_rhodes为docker中容器的名字
在这里插入图片描述
在cmd中输入该命令之后既可看到进入到该文件中
在这里插入图片描述
如:查看配置的nginx信息

cat /etc/nginx/conf.d/default.conf

<think>根据用户的问题,用户想要了解在Windows系统上部署项目的方法以及前端代码打包的方法。结合提供的引用内容,我们可以将回答分为两部分:前端代码打包和Windows系统部署。同时,引用中提到了SPA打包、Nginx部署以及Docker容器部署,这些都是相关的技术点。 1. 前端代码打包(以SPA为例): - 引用[1]提供了SPA打包的步骤:修改配置文件,运行构建命令。 - 通常,Vue或React项目使用npm run build或yarn build命令生成dist目录。 2. Windows系统部署方法: - 引用[2]和[4]介绍了使用Nginx在Windows部署前端项目:下载Nginx,解压,修改配置,启动Nginx。 - 引用[3]提供了使用Docker容器部署前端项目的方法:编写Dockerfile,构建镜像,运行容器。 我们将按照以下结构回答: - 第一部分:前端代码打包步骤(以Vue/React为例) - 第二部分:Windows使用Nginx部署前端项目 - 第三部分:Windows使用Docker部署前端项目(可选,因为用户没有明确要求,但引用中有提到,可以简要介绍) 另外,根据系统指令,需要生成相关问题,并在回答中适当添加引用标识。 注意:由于引用[4]中提到了Nginx配置修改后重启的问题,我们也会在Nginx部署部分提到如何重启Nginx使配置生效。 最后,生成相关问题。 </think> ### Windows系统上前端项目打包与部署方法 #### 一、前端代码打包方法(以SPA项目为例) 1. **配置路径**: 在项目配置文件(如Vue项目的`config/index.js`)中修改资源路径: ```javascript build: { assetsPublicPath: './' // 相对路径确保资源正确加载 } ``` 在`build/utils.js`中添加相同配置: ```javascript if (options.extract) { return ExtractTextPlugin.extract({ publicPath: '../../' // 根据项目层级调整 }) } ``` 2. **执行打包命令**: 在项目根目录打开命令行,运行构建命令: ```bash npm run build # 或 yarn build ``` 生成`dist`文件夹(包含静态资源文件)[^1]。 3. **验证打包结果**: 检查`dist`目录结构是否完整,可通过本地服务器测试: ```bash npx serve -s dist # 快速启动本地服务器预览 ``` #### 二、Windows系统部署方法 ##### 方法1:Nginx部署(推荐) 1. **安装Nginx**: 从[官网下载](https://nginx.org/en/download.html)Windows版Nginx并解压。 2. **配置Nginx**: 修改`conf/nginx.conf`文件: ```nginx server { listen 80; # 监听端口 server_name localhost; location / { root html/dist; # 指向打包后的dist目录 index index.html; try_files $uri $uri/ /index.html; # 支持前端路由 } } ``` 3. **启动Nginx**: ```bash start nginx # 启动服务 ``` - **端口冲突处理**: 若80端口被占用(如PID=4的System进程): ```bash netstat -aon | findstr "80" # 查找占用进程 taskkill /F /PID <进程号> # 强制结束进程 ``` 4. **重启与调试**: ```bash nginx -s reload # 热重载配置 nginx -s stop # 停止服务 ``` 查看日志:`logs/error.log`[^2][^4]。 ##### 方法2:Docker容器部署 1. **编写Dockerfile**: ```dockerfile # 构建阶段 FROM node:16 AS builder WORKDIR /app COPY package*.json ./ RUN yarn install COPY . . RUN yarn build # 生产镜像 FROM nginx:alpine COPY --from=builder /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/nginx.conf # 自定义配置 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` 2. **构建并运行容器**: ```bash docker build -t frontend-app . # 构建镜像 docker run -d -p 8080:80 frontend-app # 启动容器 ``` #### 关键注意事项 1. **路径问题**: 打包后静态资源路径错误是常见问题,确保`assetsPublicPath`为相对路径(`./`)。 2. **Nginx缓存**: 修改配置后需彻底重启: ```bash taskkill /IM nginx.exe /F # 强制结束所有进程 start nginx # 重新启动 ``` 3. **前端路由**: SPA项目需配置Nginx的`try_files`,避免刷新页面404[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值