VS版本:Visual Studio 2022
WebDeploy:3.6
IIS服务器是在Windows Server 2016操作系统上面
步骤:
IIS服务器端配置
1、在IIS服务器上安装WebDeploy
2、添加Web管理工具
如果你的IIS服务器是windows 10的话,控制面版-程序和功能-启用和管理windows功能,在这里选择web管理工具
3、运行下面2个服务
4、打开IIS管理界面,添加网站,添加完成后不要运行网站,因为现在还没有网站文件。
5、在添加的网站上右键,打开部署-启动webdeploy发布,配置webdeploy。
授权用户就是系统的超级管理员,这个最好不好改。
输入Sqlserver或mysql的连接字符串,在点击设置的时候,它有可能会告诉你这个连接字符串无法连接到数据库,只要你确定这个连接字符串是正确的,就不用管它,点击确定。
指定发布服务器连接的URL,这个地方把计算机名改成本机的IP地址,其他地方都不用改,保存。
6、点击IIS管理界面的根节点,点击管理服务
这个端口就是webdeploy的端口。如果你的服务器开了防火墙,那么一定要把这个端口加入到防火墙的入站端口中。
因为webdeploy使用的是https协议,所以需要有SSL证书。 当然我们也可以配置忽略证书,这个后面会讲到。
7、配置完webdeploy后,接下来配置IIS的管理用户。在IIS主页点击IIS管理器用户,里面有一个默认的administrator用户,这个是管理员权限的。你也可以点击右边,添加用户,输入用户名和密码。
8、添加完用户后,进入新添加的网站主页,点击IIS管理器权限。点击右边的允许用户,选择你想要允许访问该网站的用户。
可以选择windows的用户,也可以选择IIS的用户。
到这里,IIS服务器端的配置基本就完成了。
VS发布网站
1、右键启动项目-发布,选择Web服务器-Web部署
服务器:这里填的是webdeploy服务的地址
站点名称:你新建的网站的名称
目标URL:这个发布完成后启动这个网站的URL,比如,你的IIS服务器的IP地址是192.168.0.56,网站的访问端口是8000,那么这个目标URL就是http://192.168.0.56:8000
用户名和密码就是你刚才添加IIS管理器用户时的用户名和密码。如果你想用管理员来登录,那么用户名就是administrator,密码就是administrator的登录密码。
全部都配置好了之后,点击验证连接,这个时候可能会出现错误,告诉你服务器的SSL证书有问题。这个先不用管,点击保存。在启动项目的Properties\PublishProfiles文件夹下面会生成一个IISProfile.pubxml文件,这个文件就是你刚才的内容就是你刚才配置的内容。在PropertyGroup节点里面加上这个:<AllowUntrustedCertificate>true</AllowUntrustedCertificate>。看字面意思就知道,这是允许不信任的证书的意思,也就是SSL证书。
配置完成后,点击发布,我还碰到了一个问题:
Web 部署任务失败。在远程计算机上处理请求时出错。服务器在处理请求时遇到问题。请与服务器管理员联系以了解详细信息
解决方法:打开计算机管理界面-本地用户和组-用户
找到箭头指向的用户,右键属性
默认第一个复选框是选中的,我们取消选中第一个复选框,选中第三个复选框,确定。然后重启Web部署代理服务。
再次发布,终于发布成功了。这个网站的文件是发布时自动复制到IIS网站目录的,不用手动复制。发布成功后会自动打开这个网站,跳转到发布时你配置的目标URL。
如果你的IIS服务器是云服务器的话,你可能需要配置云服务器的允许访问端口,也就是说这个端口是允许从外面访问的。我们需要配置webdeploy服务的端口8172和IIS网站的端口
还有,如果你的网站是基于.NET 5.0的,那么你需要在IIS服务器上安装.NET 5.0的SDK。
这个发布的步骤还是挺多的,需要注意的点也挺多的,祝各位童鞋发布顺利。
原文链接:https://blog.csdn.net/niechaoya/article/details/125763628