本地MVC项目发布到IIS服务器
0瞎扯
朋友们有时候我们写个一个web程序只能使用卡西尼服务器调试,下面我教大家发布到IIS服务器上(包括本地ISS7.5和远程服务器
IIS)
1.VS发布
a.点击web项目->发布
b.在发布->配置文件->新建
连接中选择文件系统,并选择发布文件要存放的地址
设置->配置:如下
设置完成后点击发布
发布好的目录
b.配置IIS
0.创建网站之前必须启动:W3SVC(World Wide Web Publishing Service)服务,作用:通过 Internet 信息服务管理器提供 Web 连接和管理。对应的进程:C:\Windows\system32\svchost.exe
1.打开IIS(打开方式),网站添加一个新网站,
2.在右侧先启动后浏览
这时如果出现下图HTTP错误500-19-Internal Server Error
我们查看原因 :配置错误 由于权限不足而无法读取配置文件(权限不足,我们给他加权限)
解决:编辑文件权限,选中“Xxx网站”节点→右键→编辑权限→加入everyone账户。
3,再继续浏览 出现错误HTTP 错误403.14-Forbidden
原因:没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览。
解决方案:选中"Xxx网站"节点→看右边的“功能视图”→目录浏览→在右边的窗口中点击“启用”、“禁用”。不建议启用目录浏览
当不启用目录浏览,是在Asp.net中要设置配置一个默认显示的页面:选中“网站”节点→“功能视图”→“默认文档”→双击→在右边的对话框中“添加”一个默认要显示的文档的名称,并移动(上移、下移),在MVC中配置路由即可,不必设置默认页。
更改应用程序池->双击自己的网站项目
更改.net Framework
4,正常情况下就可以访问自己的网站啦,
5,其他IIS错误总结
(1)HTTP错误500.21-Internal Server Error
上图的错误,可能的原因:1>IIS安装不完整。2>没有在IIS上注册.net framework。
找到对应的.net framework目录下,执行aspnet_regiis.exe命令,重新注册一次.net framwork到IIS。注册目录如下:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i (安装)
打开控制台(空白处+shift)弹出命令窗口注册.net framwork到IIS
(2)数据库验证错误
原因:当前网站连接数据库的时候采用的是windows身份验证方式,而当前网站对应的应用程序池中的账户没有访问sql server的权限。解决:把网站连接数据库的身份验证方式改成sql server身份验证方式,使用Sql server账号登录。
(3)HTTP错误500.24-Internal Server Error
程序使用的是经典模式,服务器使用的是集成模式,选中对应网站的应用程序池,修改为经典模式。
(4)HTTP错误404.17-Not Found
服务器与网站程序.net版本不一致。或者是IIS安装不完整,或者是没有正确注册.net framework(错误二)。
3发布到服务器
连接服务器win+R
同上方法配置:
注意IIS7发布时MVC项目是会出现:HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
解决方法:更改网站根目录web.config文件
添加
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
要设置<modules>节的值为true;
4.结束语
这就是我在IIS发布时的总结,如果有没解决的问题可以给我留言,我会尽可能的帮助大家的!!!