虚拟机Windows Server IIS部署WebApi Nginx部署Vue

要先准备好WebApi 项目,Vue项目,本地测试好。

然后通过虚拟机模仿真的服务器,本文也会把虚拟机称作服务器。

工作流程:

1.安装VMware 

2.安装Windows Sever 系统服务器

3.服务器中安装IIS ,相关.Net环境,我使用的是Sqlite,没有安装数据库环境

4.通过IIS部署WebApi项目

5.服务器安装Nginx(没安装Node.js)

6.通过Nginx部署Vue项目

以上工作资源较多,本文主要说一下遇到的问题和对整个部署的感悟。

经过以上工作,可以在自己电脑上,只通过浏览器访问虚拟机服务器的IP+端口,访问到自己做的网站。

想访问一个网站要运行的软件资源对比:

开发时:

Visual Studio(运行后端代码)  + Visual Studio Code(运行前端代码) + 浏览器(显示网站)

部署后:

浏览器(显示网站)  

不过部署后多了一个服务器

踩坑:

webapi部署后怎么进入swagger界面:

IIS部署好WebApi后访问地址提示找不到 localhost 的网页

webapi部署后遇到浏览器报错:HTTP Error 5OO.0- ASPNET Core lIS hosting failure (in-process)

浏览器报错:HTTP Error 5OO.0- ASPNET Core lIS hosting failure (in-process)

vue项目路由问题:

在nginx上部署好后可以进入vue项目主界面,但是点击其他标签切换界面时返回404

Nginx部署Vue项目,网页界面返回404 Not Found

通信梳理:

互联网就是靠IP+端口进行通信。

浏览器如何访问服务器上的Nginx:

 Nginx下载好默认是80,我改成了81端口,打开conf文件下的配置文件nginx.conf:

刚下载完nginx,就是没有把vue的静态文件放到nginx目录下的时候,可以在服务器本机通过localhost:81访问到nginx的主页,也可以在同一个局域网内通过服务器IP+81访问:

Nginx 如何访问Vue:

部署可以理解成:

在开发环境中,运行vs code,Vue项目运行在原来的脚手架服务上,生产环境下就得把Vue整到Nginx上,Nginx接替了脚手架继续运行Vue项目。可以参考:Nginx对于Vue的工作
然后部署的工作资源很多这里不赘述。

把vue生成的dist目录下文件整合到Nginx目录中后,就可以通过【服务器的IP+端口访问】或者【http://localhost:81/】vue网站:

1.服务器的IP:

2.localhost:

Vue如何访问IIS

vue已经放到了Nginx中,所以这里也是通过nginx这个平台访问后端,又因为后端Api部署到IIS上,所以这里访问IIS。

还是在nginx的配置文件中,因为我的后端Api已经部署到IIS上,所以这里配置的是IIS的端口,起作用的就是我选中的部分:

iis端口:

IIS如何访问WebApi:

这部分就是IIS部署的工作了,只要把WebApi项目部署到IIS的网站上,WebApi就可以通过网站的端口访问,网站的端口不要和WebApi的端口相同,随便设置就好,不冲突就行。

WebApi的端口可以通过配置文件设置:

总体流程:

浏览器 → Nginx 81端口 → Vue前端 (Nginx 81端口) → IIS (5009端口) → WebAPI应用程序 (5000端口)

*浏览器通过服务器的IP和端口访问到服务器上的Nginx

*Nginx访问到Vue前端,呈现出网页

*网页请求通过Nginx找到IIS

*IIS把请求传递到WebApi程序

-结尾-

一点个人浅见,未必周全,权当抛砖引玉。若有疏漏之处,还请大家一起指正讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值