1.WebAPI接口程序编译
1.1重新编译需要发布的webApi程序
1.2对启动项目点击右键,在菜单中选择发布(发布之前可点重新生成,确保编译无问题)。
1.3选取发布目标IIS,FTP,下一步创建配置文件
1.4打开配置窗口,发布方法下拉选项选择文件系统
1.5点击选择目标文件按钮
1.6打开文件窗口,选择文件系统存放的目标文件夹
1.7点击下一页,设置发布类型Debug(调试版本)或者Release(发布版本)
1.8设置完成,点击发布按钮发布文件系统
1.9VS工具输出栏显示项目发布完成
1.10打开目标文件夹,文件系统已发布成功
2. WebApi服务器程序发布部署
服务器地址:IP
物理路径:由1.编译本地程序生成的文件夹内容。
复制新的内容之前请先备份原来程序,并且清空文件夹之后进行粘贴
2.1添加网站
2.2浏览程序
2. 服务器注意事项
2.1第一次访问慢的解决方法
2.1.1问题现象
访问asp.net web项目的时候,第一次访问比较慢,当闲置一段时间后,再次访问还是会非常慢。
2.1.2问题原因
这是IIS回收造成的,再次访问的时候会初始化操作,初始化需要耗费时间,所以访问会比较慢,第二次访问的时候不需要初始化操作,因此变快了。
2.1.3解决办法
IIS应用初始化会在网站第一次创建后或者对应网站的应用程序池回收后,自动开启新程序池,并启动网站初始化,模拟一次正常请求,使网站一直处于在线状态。
修改IIS中的配置
1.修改启用应用程序池(AlwaysRunning):保证应用程序池在第一次创建或者被回收后,能自动再次重启运行。
2.修改闲置超时1740分钟:长时间没有请求释放资源,可以不用修改。
3.修改启用网站程序预加载(true):保证程序池在启动过后,网站能响应预加载动作。
我看有些博客会将进程模型/闲置超时设置为0或者很长,觉得不太好。闲置超时是指如果你的应用程序未处理请求也未接受请求,则进入闲置状态,这个状态可以保持的时间,超过这个时间,则该进程将会从内存中删除并释放所有内容。如果设置为0,则不会闲置一直持续不好,如果代码中有内存泄漏,则会一直持续,完全占用服务器。设置时间过长,长时间没有请求,还占用这内存,有点浪费。按照以上修改之后,基本上都会秒启动。这样的修改同样也适用于MVC,web api等IIS项目
(备注:目前接口访问身份验证根据缓存,如果回收时间设置20分钟,则服务器回收机制,导致用户在访问接口提示令牌失效,所以上线时要确保回收时间设置)
2.2 服务器部署错误解决方案
2.2.1出现501错误
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
本项目框架是Core3.1 需安装服务:
- 检查IIS是否配置安装完成;2检查是否启用IIS相关配置;3确认WenApi程序编译无问题。
如图,安装bundle包自动回复加载 IIS模块AspNetCoreModule
可查看程序和IIS映射关系
C#使用Owin技术部署轻量级webApi服务:https://www.cnblogs.com/kellen451/p/10615289.html