背景描述:

在一个刚睡醒午觉后的下午,忽然收到客户反馈,说昨天开始应用特别卡,各种卡各种不好用,忽然想到上次说要优化服务器IIS配置还一直没弄,然后迷迷糊糊的就开始进行客户现场服务器IIS配置优化,涉及到客户服务器IIS根目录 applicationHost文件等的修改。

大概在下午四点多吧,忽然收到客户反馈,说应用无法打开了。赶紧远程访问,500了。进入服务器,看具体的错误,发现是IIS配置文件错误,在具体一看是下午给applicationHost.config配置的一个属性位置放错了。

于是想偷个懒,去本地测试环境找到文件,copy到客户服务器,然后文字copy一下。当时想何必这么麻烦呢,直接copy文件不就行了(绝对是大脑短路了),然后就非常happy的覆盖了文件。

重启各种服务。打开IIS,我勒个去,怎么上面的网站都没了。我勒个去,怎么网站都变成测试服务器上的了。

瞬间有种 “垂死病中惊坐起”的感觉,一下就精神了

问题处理:

  1. 想采取还原文件的方式,还原一下别覆盖掉的applicationHost.config文件。百度了几种方案,最后选择了一款国内的可以免费试用的软件,还原,扫描C盘,大概花费了一个多小时,给出了4W多份可还原的xml文件,然后费尽眼力,找到了大概可能是丢失的iis配置文件(只提供文件头预览,大概比对下,反正前面是一致的)。然后happy的下一步,下一步,我尼玛,到还原文件的时候它告诉我要先注册,然后就一个链接去某宝了。。。这里我不想说什么,有时候国人做事确实损的不行,通过这种方式让人花钱,即使花了也有种被欺骗的感觉,怎么说呢,就像找了个对象,各种纯情似水,最后发现妈的是原来是小姐。(原谅我不羁的比喻和形容,没想伤害谁,网上看的段子)。另外操蛋的是,用这个东西扫描一遍以后,按照以前的经验,基本别再想用其他的在还原了。。
  2. 回想了下原来的客户服务器,应该没有什么别的东西,上面就我一个应用,于是找原来的开发人员确认下,确实只有一个网站在上面,新服务器。
  3. 开始重装IIS服务器

以下是 Windows Server 2008 R2 IIS重装的正文

  1. 在 服务器管理器下,找到删除角色                                                                                                                                                                      
  2. 打开 找到 Web服务器,把选中去掉 ,然后一路【下一步】即可完成操作,重启                                                                                                                    
  3. 重启后,会在启动前显示Windows Update什么的。不用管,进入页面后进入服务器管理器,查看角色是不是已经清空即可
  4. 然后同步骤1图片,选择 添加角色。如果顺利,一直【下一步】即可,最后可能需要重启服务器。
  5. 在步骤4,我碰到了问题,”Web 服务器(IIS): 安装失败”                                                                                                                                           悲催的很,一直这个错误,于是我就重复了两遍步骤4,步骤5还是不成,IIS Web安装失败。
  6. 检查了下其他的也没什么错误,google了下,有说要卸载一个功能的,如图                                                                                                                 就是这个功能,需要卸载掉,图是已经卸载完成的。然后重复步骤4,步骤5即可安装成功。
  7. 安装完毕后,浏览下应用目录,webconfig文件是否正常这里一定要检查一下,因为我的重装完以后多了个web-副本 .config。一位是从前发布的时候自己备份的,然后就一遍一遍的捣鼓401.14,404 aspnet iisreg -i什么的。最后发现是web.config文件里面的内容被删除掉了,用副本覆盖现有文件。终于OK了

总结:

在生产环境操作任何内容,之前千万要备份。不要以为可以万无一失。当发现有各种可挽救的途径都没有做,比如恢复到之前版本(操作系统提供的功能),外部软件恢复文件也不是万能的,像文件覆盖可能很难恢复,而且即使能恢复也要花费很长的时间。最后得到的文件可能存在乱码或其他因素不能用等等。

所以对生产环境,操作之前千万要及时备份

Windows Server 2008 R2 IIS重装的更多相关文章

  1. c# webapi发布到windows server 2008 r2 iis上提示404错误

    项目服务端是一组RestFul风格的webapi,发布到本机的iis没有问题,但是发布到服务器以后就提示404错误.本机是win10的,服务器是windows server 2008 R2 64位.之 ...

  2. Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App

    Windows + IIS 环境部署Asp.Net Core App   环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署A ...

  3. 部署.net Core 到 Windows server 2008 r2 IIs

    1. 将项目发布 2.iis 新建网站,设置 3 安装windows  server  hosting 4 关于报错 1.下载sdk https://www.microsoft.com/net/lea ...

  4. windows server 2008 r2 IIS 6 元数据库与IIS 6 配置的兼容性 解决方案

    1 菜单-管理工具-服务器管理 2 添加角色服务 3 选中 IIS6 管理兼容性 4 安装完成 5 在IIS上新建一个相应端口的网站 6重新加载项目,OK

  5. 在 Windows Server 2008 R2 上安装 IIS 7.5

    原文 在 Windows Server 2008 R2 上安装 IIS 7.5 默认情况下,Windows Server(R) 2008 R2 上不安装 IIS 7.5.可以使用服务器管理器中的“添加 ...

  6. 在Windows Server 2008 R2上安装IIS服务

    一.Windows Server 2008 R2 介绍 1.Windows Server 2008 R2 基本概念 2.Windows Server 2008 R2 家族系列 二.VMware虚拟机安 ...

  7. How to Enable TLS 1.2 on Windows Server 2008 R2 and IIS 7.5

    Nowadays there is an SSL vulnerability called POODLE discovered by Google team in SSLv3 protocol. So ...

  8. Windows Server 2008 R2常规安全设置及基本安全策略

    这篇文章主要介绍了Windows Web Server 2008 R2服务器简单安全设置,需要的朋友可以参考下 用的腾讯云最早选购的时候悲催的只有Windows Server 2008 R2的系统,原 ...

  9. Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

    http://www.cnblogs.com/zhongweiv/archive/2013/01/07/https.html 配置环境 了解HTTPS 配置CA证书服务器 新建示例网站并发布在IIS ...

随机推荐

  1. [canvas]通过动态生成像素点做绚丽效果

    本例中的粒子就是实实在在的像素,由js代码在canvas上动态生成的像素点!这些像素点通过一个运动方法有规律地动了起来.透过这个思路,我们可以想到很多很炫的效果,但是这个性能有待考察.实验证明,动态控 ...

  2. 数学期望和概率DP题目泛做(为了对应AD的课件)

    题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...

  3. poj3159 Candies(差分约束)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Candies Time Limit: 1500MS   Memory Limit ...

  4. theos初探:ios越狱开发教程

    开发环境搭建回顾 现在已经在windows上安装好了theos了.在上一篇中都已经讲了,开发环境主要部件就是: 1.theos,主要包含了使用make时的makefile模板文件.包含了各种库和框架的 ...

  5. IOS开发UI篇-NavigationController的控制器之间的跳转

    一.效果图如下 1> 第一个控制器的NavigationBar隐藏 2> 有按钮,可以跳转到下一个控制器,返回上一个控制器或者根控制器 二.思路代码 思路: 1> 设置window的 ...

  6. jQuery中$符号冲突问题 (转载)

    Jquery的$命名冲突: 在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg') 的写法.然而,当我们引入多 ...

  7. BZOJ 1458 士兵占领

    http://www.lydsy.com/JudgeOnline/problem.php?id=1458 题意:n x m的棋盘,k个位置不能放,每行和每列都有要求至少的士兵,求能否有最少的满足条件的 ...

  8. CSS之Hack

    一.类内部Hack IE都能识别*;标准浏览器(如FF)不能识别*:IE6能识别*,但不能识别 !important, IE7能识别*,也能识别!important; FF不能识别*,但能识别!imp ...

  9. Android studio修改debug.keystore

    在android studio项目中配置自定义的debug keystore 方法/步骤   在项目的build.gradle中添加如下内容: android {    signingConfigs ...

  10. 遇到的Fragment中使用setAdapter()设置ListView报空指针解决方案

    场景是这样,底部4个tab导航栏.用的fragment. 但其中一个fragmentActivity1中使用ListVIew的setAdapter()方法时,总是报NullPointerExcepti ...