设为首页 收藏本站
查看: 754|回复: 0

[经验分享] 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅

[复制链接]

尚未签到

发表于 2017-12-7 11:37:43 | 显示全部楼层 |阅读模式
  做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下。
  平台是阿里云ECS,操作系统是 Windows Server 2012 r2,全新的环境,完全从头开始。
  一. windows server 启用IIS功能
  windows环境下web服务器部署,首先要启动IIS功能,这个大家也都知道:
  服务器管理区-》添加角色和功能-》选择“Web Server(iis)”,接下来选择IIS具体的功能项,安全性,常见http功能,控制台功能,该选的都选上,最重要的一点,因为我们要部署的是asp.net mvc 网站,所以,应用程序开发下面的 ASP.NET 一定要记得选上。
  至此,我们的所有操作都是正确的,但是安装时却报错了。
  错误信息为:服务器管理器WinRM插件可能已损坏或丢失
DSC0000.png

  原本正确的操作,却爆出了这样的错误,真是让人无语。
  阿里云给出了此问题的解决方法:https://help.aliyun.com/knowledge_detail/40957.html?spm=5176.7842540.2.4.SaEVdR
  分三个步骤:
  1、在“服务”中查看下WinRM服务是否开启,如果没有运行服务,将服务开启运行。
  2、打开命令提示符,输入netsh http add iplisten 127.0.0.1,还有netsh http show iplist,如图。(这步是个坑,以后会遇到)
  (可尝试步骤:设置虚拟内存。服务器默认没有设置虚拟内存,有人建议设置一定量的虚拟内存解决上面的问题。)
  3、再次测试安装iis服务,安装成功。
  经过上面的操作,IIS基本上安装成功了(如果还是那个错误,建议重启),然后重启电脑。
  二.部署asp.net mvc 网站
  网站具体部署过程不再赘述,实在不懂的,自行百度,现在说一下部署完成后可能遇到的几个问题。
  1.HTTP 错误 500.19 - Internal Server Error
  无法访问请求的页面,因为该页的相关配置数据无效。
  详细信息:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的 (overrideModeDefault="Deny") ,或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。
   DSC0001.png
  问题解析:从错误描述可以看出,问题出在配置文件上,但又不能从web.config文件中删除此配置项
解决方案:
  出现这个错误是因为从 IIS 7 开始 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。
  要取消锁定可以运行命令行:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
  其中的 handlers 是错误信息中红字显示的节点名称。
  如果 modules 也被锁定,则运行命令行:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

DSC0002.png

  2.IIS无权限访问目录
  在IIS访问静态文件,虚拟目录时可能会出现无权限的错误,此时,应当修改文件夹属性-安全,添加IIS_User(具体角色依IIS运行角色而定)的读取,运行权限。
  3.如果程序开发使用的.net framework 高于服务器.net framework 版本(4.5),需要按装更高版本.net framework.
  三.外网无法访问
  网站部署完毕,在本机正常访问,但是其他电脑无法访问(包括内网或外网)。
  还记得我们在解决IIS安装问题时,运行的那个命令行吗?
  netsh http add iplisten 127.0.0.1
  仔细看一下这行命令的含义,原来是让服务器只侦听 本机(127.0.0.1)的web请求,难怪其他电脑不能访问。
  解决方案:运行命令行 netsh http delete iplisten 127.0.0.1 解除对IP请求的限制
  至此,asp.net mvc 网站部署基本完成。需要注意的是,在某一个解决方法试用之后,如果问题没有得到任何解决,可尝试重启服务器。
  备注:如果网站绑定的非80端口,则防火墙会拦截该网站请求,可以在防火墙入站规则中,添加对应端口的请求。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421666-1-1.html 上篇帖子: windows server 2012 安装 VC14(VC2015) 安装失败解决方案 下篇帖子: Windows Server 2016 配置指南 之 FTP环境搭建篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表