惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
博客园_首页
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
Jina AI
Jina AI
月光博客
月光博客
小众软件
小众软件
S
SegmentFault 最新的问题
量子位
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 幽谷清水

ABP .Net Core Entity Framework迁移使用MySql数据库 理解OAuth 2.0 IdentityServer4 中文文档 【转】ASP.NET Core 依赖注入 asp.net core部署到iis中出现 HTTP Error 502.5 - Process Failure的问题 在IIS上部署你的ASP.NET Core 2.1项目 AppBoxPro(权限管理框架--FineUIPro基础版+工厂模式+ADO.NET+存储过程) tfs 禁止多人签出 Sql Server 向上取整、向下取整、四舍五入取整 微信WeixinJSBridge API Memcached+WebApi记录 iOS8自定义推送显示按钮及推送优化 支付宝友盟编译报错 控制器隐藏了导航 下页pop 导航位置看到黑条 安装Cocoapods xcode 插件 3.1 - Apps or metadata that mentions the name of any other mobile platform will be rejected 苹果电话、加急 火狐浏览器sqlite插件
阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅
幽谷清水 · 2017-08-17 · via 博客园 - 幽谷清水

做了多年的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插件可能已损坏或丢失

原本正确的操作,却爆出了这样的错误,真是让人无语。

阿里云给出了此问题的解决方法: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" 的位置标记明确设置的。

问题解析:从错误描述可以看出,问题出在配置文件上,但又不能从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

 

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端口,则防火墙会拦截该网站请求,可以在防火墙入站规则中,添加对应端口的请求。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

http://www.cnblogs.com/flame7/p/6436166.html