我试图在Visual Studio中为ASP.NET Web应用程序[Web窗体项目]设置Web Deploy发布方法。在www.example.com的所有文章中learn.microsoft它推荐使用Web平台安装程序(WPI)。但是WPI已被sunset并且不支持/正在运行。
我尝试单独安装Web Deploy部分,但VS无法连接:“无法连接到远程计算机。在远程计算机上,确保已安装Web Deploy,并且已启动所需的进程(“Web管理服务”)。
文档特别指出,直接安装WebDeploy“不会配置WebManagementService”
也就是说,配置Web服务器(Windows Server 2022)作为Web部署发布的目标的推荐方法是什么?
1条答案
按热度按时间yv5phkfx1#
首先你没说这是个什么网站
这是一个asp.net网站吗?或者这是一个ASP.NET网站应用程序吗?
例如,我经常做一个“本地”出版。这将导致在我的本地计算机上的一个文件夹,可以“传输”到运行IIS的服务器。
在这种情况下,我这样发布:
在这一点上,我有一个文件夹名为“Web”。
然后我压缩文件,然后可以远程到web服务器,我复制这个文件夹(我压缩它,因为复制一个文件要快得多)。这个网站大约有110兆大小,但压缩后,大约有46兆。
所以,一旦我在服务器上有了这个文件夹,我就解压缩(到一个名为stage的文件夹)。
然后停止IIS,将文件复制到站点文件夹(C:\inetpub\wwwroot),然后启动IIS。
现在,我可以发布为FTP,但我关闭了FTP(为了提高安全性)。
当我远程进入服务器(远程桌面)时,我只能通过VPN这样做,并且面向公众的端口没有也不允许RDP。
我也当在现场,或在同一个网络上,我会直接发布到网络上的共享文件夹。(所以,节省了一点时间,不必发布本地,然后zip。
所以,我使用的是vs 2022,网站发布选项工作得很好,并提供了发布到文件夹,通过FTP发布的选项,当然还有使用Web部署选项的第三个选项。然而,我不喜欢(也不使用该选项),再次出于增加安全性的原因。
我可能会设置一个批处理文件/脚本,在一定程度上帮助和自动化这个过程有点进一步,但我只更新网站说,一周几次,所以它在5分钟的任务时间明智的无论如何。
我的网站是一个asp.net网站的“应用程序”(web表单,.net 4.8),使用的是vs 2022。
所以,当我发布时,当然所有的源代码都被剥离出来,项目被编译,结果文件夹是一个Web服务器就绪的网站。在这一点上,我所要做的就是复制(重写)现有的网站,我停止IIS为这个副本)。请注意,我因此使用所谓的“x-copy”更新。有1或2个文件夹在我的开发计算机上没有,那是让我们加密的文件夹,它启用了https安全证书部分,我在开发过程中既不使用也不关心。
因此,在我的开发计算机上,我以http运行site/project,但在生产环境中,它当然以https运行。
当然,我也使用“web.config”转换,它在发布过程中工作,在发布过程中将连接字符串从我的本地计算机(.\SQLEXPRESS)更新为实际的服务器名称+ sql示例和密码)。
当我使用asp.net网站“应用程序”而不是ASP.NET网站时?
一个网站也有发布向导和选项-它适用于网站,甚至在vs 2022中也可以工作。
所以,你没有注意到,如果你有FTP的能力,但这是一个可能的。如前所述,发布到一个文件夹,然后找到一种方法将结果文件夹复制到服务器,这就是您在这里所需要的全部。
这种“选择”和“道路”在很大程度上取决于您拥有的网站类型,以及您是否有远程桌面或VPN或FTP等选项。