Windows 下用 Nginx 部署 Vue + .NET WebApi 全流程实战

很多人以为 Nginx 只能在 Linux 上用。

其实在 Windows 下同样可以部署 Vue 项目,尤其适合:

  • 内网系统

  • 测试环境

  • 小型项目

  • 本地服务器部署

今天从 0 到 1 讲清楚:

👉 Vue 如何打包

👉 .NET WebApi 如何发布

👉 Nginx 如何同时代理前端 + 后端

👉 常见问题如何排查

这篇文章适合已经会开发,但对部署还不熟练的人。


一、整体架构思路

部署完成后的结构如下:

复制代码
用户浏览器

↓

Nginx

↓

Vue 静态资源

↓

WebApi(Kestrel)

核心逻辑:

  • Vue 打包为静态文件

  • WebApi 运行在某个端口(如 5000)

  • Nginx:

    • 负责访问前端页面

    • 反向代理接口请求

    • 解决跨域问题


二、下载 Nginx(Windows 版)

官网:

https://nginx.org/en/download.htmlhttps://nginx.org/en/download.html

下载 Stable version 稳定版本。

解压到:

D:\nginx


三、Vue 项目部署

在 Vue 项目目录执行:

npm run build

生成:

dist/

把 dist 文件夹复制到服务器,例如:

D:\vue\dist


四、发布 .NET WebApi

在 WebApi 项目目录执行:

dotnet publish -c Release -o ./publish

将 publish 文件夹复制到服务器,例如:

D:\api

假设运行地址:

http://localhost:5000


五、配置 Nginx

打开:

D:\nginx\conf\nginx.conf

找到 server 段,修改为:

javascript 复制代码
server {
    listen       80;
    server_name  localhost;

    # Vue 静态文件
    location / {
        root   D:/vue/dist;
        index  index.html;
        try_files $uri $uri/ /index.html;
    }

    # 反向代理 WebApi
    location /api/ {
        proxy_pass http://localhost:5000/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

六、启动与停止

进入:

D:\nginx

启动:

start nginx

停止:

nginx -s stop

重载配置:

nginx -s reload

访问:

http://localhost

Windows 下部署 Vue + WebApi,本质就是三步:

  1. Vue 打包

  2. WebApi 发布并运行

  3. Nginx 做静态托管 + 反向代理


最后建议:

可以把 Nginx 设置为开机自启,不然每次开机都得start nginx

Windows 2012R2 Nginx 1.24.0 自动启动完整教程_windows 2012 系统 nigix后台服务启动-CSDN博客https://blog.csdn.net/m0_74000869/article/details/156018213?spm=1011.2415.3001.5331

相关推荐
凡尘——雨落凡尘3 小时前
PHP 线上十大隐形故障复盘:90% 的网站卡顿、502、雪崩,都是这些细节导致的
redis·nginx·php·session
Deryck_德瑞克5 小时前
【Nginx】配置差异分析
服务器·前端·nginx
天天码行空6 小时前
vkeyboardhand:零依赖虚拟键盘指法组件
前端·javascript·vue.js
我要两颗404西柚6 小时前
Stage four:VUE项目上线
前端·javascript·vue.js
TinssonTai9 小时前
Vite 8 版 Chrome 插件全家桶,popup/options/sidepanel 一次集齐
前端·vue.js
趣味科技9 小时前
记录修复EAGET忆捷移动硬盘损坏
windows·数据分析·硬件工程
sugar__salt10 小时前
Vue3 自定义指令与插槽(Slot)技术详解
前端·javascript·vue.js·前端框架·vue
英勇无比的消炎药11 小时前
TinyRobot DropdownMenu 下拉菜单:三种触发方式与实现原理
vue.js
我命由我1234511 小时前
Java 开发 - List subList 方法
java·windows·操作系统·list·intellij-idea·idea·intellij idea
吃辣我第一11 小时前
监听SHP目录自动注册SuperMap iServer地图服务(Windows版)
windows·iserver·shapefile