前端第一次IIS配置和使用dist包进行本地网站部署(踩坑)

420 阅读4分钟

记录第一次配置IIS!

作为前端小菜鸟,第一次接触后端服务的启动,和IIS网站部署.而且后来自己还要用C#写接口.感觉困难重重......,还是先记录一下今天的内容吧.

  1. 拿到后端已经写好的项目,且已经生成了.sln文件,api也生成了bin文件(后端项目完备,不需要再配置了,直接使用即可)

  2. 前端前端项目完备,且build好dist包.

  3. 使用的win10系统,搜索:控制面板->程序->程序和功能->启用或关闭Windows功能,如下图:

    启用或关闭windows功能.png

    我看其他Up主都是直接勾选这四项总选项,子选项使用默认的选项.我公司电脑空间大,所以这四项的子选项我全都手动勾选了.然后点击确定,会自动联网安装.

  4. 安装完毕重启电脑

  5. win+R inetmgr 可以打开Internet Information Services (IIS)管理器,点击左侧第一项,如下图:

    IIS管理器.png

    以上展示的就是我们在"启用或关闭windows功能"中勾选的内容,但不是全部,这里先预挖一个坑

  6. 开始进行网站部署,一共有三种方式:一.使用远端服务,和本地dist包部署一个网站;二.使用本地服务,和dist包部署同一个网站;三.使用本地服务,和dist包部署两个网站;

第一种:使用远端服务

a. 在前端打包的dist文件中的config.js中apiUrl,一定要改为远程配置好的后端服务地址,如: apiUrl:"xxx.xxx.xx.xx/远程网关/"

b. 添加网站.如下图:

新建添加网站.png

c. 这一步添加的是前端的dist包,配置如下:

添加dist包设置.png

注意: 端口一定要写一个不常用的,没有被占用的,这个问题让我折腾了一个小时!!!

d. 点击"浏览网站",即可看到服务已经建立连接,完成部署

浏览网站.png

第二种:使用本地服务和dist包部署同一个网站

A. 添加网站.如下图:

新建添加网站.png

B. 这一步添加的是前端的dist包,配置如下:

添加dist包设置.png

C. 选择添加的网站,右键鼠标,选择"添加应用程序",如:

添加应用程序.png

D. 配置本地后端api应用程序(别名随便填,但一定要记住,后面要用)

后端同前端webAPI目录.png

E. 在前端打包的dist文件中的config.js中apiUrl,去掉服务地址,只留网关即可,因为在同一服务下,如: apiUrl:"/api/xx/" api为6.2.4中网的别名

F. 点击左侧web,然后点击右侧网站管理,重新启动,最后点击浏览网站,浏览即可

重启2.png

第三种:使用本地服务和dist包部署同两个网站

①. 添加网站.如下图:

新建添加网站.png

②. 这一步添加的是前端的dist包,配置如下:

添加dist包设置.png

③. 创建网站添加本地后端服务,ip地址为本机ip,端口为一个没被占用的,且同dist包不相同的端口号.如:

新建添加网站.png

④. 配置后端服务内容.如:

本地后端服务网站配置.png

⑤. 非常重要!!!:在前端打包的dist文件中的config.js中的apiUrl,改为本机IP且端口号为6.3.4配置的端口 如: apiUrl:"xxx.xxx.xx.xx:9091/xx/"

⑥. 选择dist包配置的网站,点击重启网站,最后浏览网站即可

重启网站.png

填坑: 在配置网站的时候,出现了一个问题,在此记录:

在打开首页,确实访问了dist的首页,但是登陆时发的请求确实一个不知名的ip地址,确定没有配置过此IP.通过了解,需要一个IIS "URL重写程序"可以解决这个问题.

一. URL重写程序是在上面第3步,控制面板->程序->程序和功能->启用或关闭Windows功能配置的,但是不知道为什么我的就没有

二. 经查证,配置完IIS之后,选择左侧根文件,可以在IIS管理中的"Web平台安装程序"中找到"URL重写",但是我依然没有,但是可以在右侧,"获取新的Web平台组件"这个选项,跳转到官方网站,下载这个应用,并安装如下图:

URL重写.png

install.png

三. 安装完成后,双击打开IIS管理中的"Web平台安装程序",选择"产品"->"服务器"->"URL重写工具2.0" ->"添加"->"安装".

添加URL重写.png

四. 安装时总是安装失败,如果安装成果跳过此步骤.如果安装失败,可以在网上找urlrewrite2.exe文件单独安装,效果一样

urlrewrite2.png

五. 在IIS中右键"URL重写2",然后启用即可

六. 解决问题