我之前采取过的一种方式:复制.dll文件到目标文件夹出现是否要覆盖时,暂时不要点确认,先打开任务管理器结束w3wp进程,然后立即点击确认。切记“结束w3wp进程”与“点击确认进行复制”这2个操作之间的间隔要尽可能短,用鼠标基本来不及,我都是通过键盘结束w3wp进程、鼠标点击复制确认完成的。
我也想知道。。。
利用Nginx来实现,先停一台,然后再部署好之后,重启。依次类推。Nginx会帮你平滑转移。
你这里的先停一台是什么意思?主要我就是一台服务器,
@光明中的黑手: 1台服务器可以启动多个服务实例。
首先赞同楼上用nginx做转发的方式,然后分享下iis用脚本部署的方式
0. 拷贝生成文件到服务器
1.通过脚本写入app_offline.htm文件(iis将请求指向到此htm) `echo 网站维护中>X:\Site\Test\app_offline.htm`
2.复制生成文件到站点 `xcopy X:\SiteTemp X:\Site\Test\ /s /e /Q /Y /I`
3. 删除app_offline.htm `del X:\Site\Test\app_offline.htm`
4. 发布成功
完整脚本如下,路径需更换
@echo off echo 网站维护中>X:\Site\Test\app_offline.htm
call xcopy X:\SiteTemp X:\Site\Test\ /s /e /Q /Y /I del X:\Site\Test\app_offline.htm
谢谢,之前没看到这官方操作,我的操作是直接手动停止程序池,复制进去之后在手动重启。
你可以用 powershell 脚本来控制网站:
然后你就可以用 powershell 脚本来复制站点的文件了,这样的话,还是会重启站点。但是比点来点去要方便多了。
谢谢!