Win10下IIS配置 C#项目的部署与发布
1.找到控制面板:【开始】菜单鼠标右击,打开【控制面板】
2.打开控制面板,点击【程序】,点击【启动或关闭windows功能】
下一步,点击【启动或关闭wondows功能】
3.开始修改IIS了,我是这样勾上的,有可能比较多。
4.验证ISS是否正确安装,等待几分钟后IIS配置完成。
在浏览器输入http:localhost会出现IIS首页的页面。第一次修改的时候出现了成功页面,但是后来删除了IIS默认的网站就打不开了,但是不影响的。
官方位置地址: https://msdn.microsoft.com/zh-cn/library/ms178477(v=vs.100).aspx
添加网站
1.新建项目,打开【VS2017】,单击【文件】,选择【新建】,单击【项目】
选择【Web】,单击【ASP.NET Web应用程序】,【VS2010】中是MVC项目
我这里选择的是【MVC】,身份验证选择的是【无身份验证】
2.发布项目:右键【ViewerWeb】,选择【发布】
根据下面的图片指示下一步
下一步
下一步,由于是发布程序,所以,选择【Release】
下一步
查看VS2017下面的【输出】,没有失败即为发布成功,有些时候会出现发布失败的现象,把发布地址的项目保存一份,之后删除,重新发布即可。
IIS上添加网站
1.打开【IIS管理器】
2.添加网址:单击【网站】,【添加网站】
网站名称随便起,物理路径为项目发布的路径。这里的端口需要注意,不要起已经占用的端口
之后修改身份验证。根据需要启用。
点击应用程序池,在添加的网站上进行高级设置。
3.访问网址
http://localhost:9991/
也有可能会遇到一下很坑的问题,在2008服务器上。
问题
问题1:
启动网页,报错:万维网发布服务(w3svc)已停止。
IIS重启了,也提示成功了,但是站点没启动起来,提示:万维网发布服务(w3svc)已停止。除非万维网发布服务(w3svc)正在运行,否则无法启动网站。如图下图
解决办法如下:
方法/步骤
(1)打开服务【开始】--【运行】--输入【services.msc】--回车或者点击【开始】--进入【控制面板】--打开【管理工具】--【服务】
进去服务界面,找到
找到World Wide Web Publishing Service服务项是禁用
把World Wide Web Publishing Service服务项【启用】并【启动】
回到服务查看,服务启动了。
可以正常启动,ok这样问题就解决了。
问题2:
发布mvc3报错:403.14-Forbidden Web服务器被配置为不列出此目录的内容。
- 使用不希望启用目录浏览,请确保配置了默认文且该文件存在。
- 使用IIS管理器启用目录浏览。
1.打开IIS管理器。
2.在“功能”视图中,双击“目录浏览”。
3.在“目录浏览”页上,在“操作”窗格中单击“启用”。
- 确认站点或应用程序配置文件中的
configuration/system.webServer/directoryBrowse@enabled 特性被设置为 True。
修改办法为在配置文件</system.web>下面中添加
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<directoryBrowse enabled="false" />
</system.webServer>
或者
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthenticationModule" />
</modules>
</system.webServer>
如果上述配置后打开的还是还是文件列表,那还需要配置映射方法现在一般很少需要配的,其实需要配置这些原因还是IIS设置的问题,全勾上这些问题就很少了:
打开IIS的“处理程序映射设置”,在右边的操作栏下有“添加脚本映射”
请求路径:*
可执行文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll一般来说不会有问题了,否则就重装framework4吧。
问题3:
发布好后,登陆界面可以显示,跳转页面访问数据库时报错,Login on failed for “IIS APPPOOL\ASP.NET v4.0”,发现是网页的“IIS APPPOOL\ASP.NET v4.0”无权限访问数据库,给数据库添加了用户登录名为“IIS APPPOOL\ASP.NET v4.0”,并添加了所有权限,就可以用了。
操作详细过程:打开sqlserver manager studio,在“安全性”->“登录名”->右击“新建登录名”->在“常规”选择页填写登录名“IIS APPPOOL\ASP.NET v4.0”在“服务器角色”选择页下选中所有角色权限,确定即可。
如果还是不行,可是试试加一个登录名network service,权限设置跟以上描述一样。
如果本地可以运行,但是通过IP不能访问,那就是防火墙的问题了,请关闭防火墙之后再试。
问题4:
IIS 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
错误原因:
部署网站时,使用的应用程序池版本不对,应用程序池应使用与程序开发时候一致的.NET版本。
解决方案:
1.确定是否大小写问题。
2.查看配置文件中.net版本
<compilation debug="true" targetFramework="4.0">
3.IIS配置修改
(1)一般IIS是默认framework2.0,需要将2.0手动改成4.0。
(2)设置应用程序的默认设置,也就是你在IIS上发布网站的默认设置
以上两步主要对IIS内的全部网站进行配置,也可以只对其中一个网站进行配置,就不用以上两步骤:
网站-右键【管理网站】-【高级设置】-【应用程序池】-选择4.0
对路径XXX的访问被拒绝(文件操作权限)的解决方法
例如:对路径“C:\inetpub\wwwroot\WeiXin\eventlogs.log”的访问被拒绝
解决方案一:
在需要进行读写操作的目录下添加Network Service这个账号同时选上FULL CONTROL
解决方案二:
在IIS中默认应用程序池-->属性-->标示中把Net Service改成Local System该问题也可以解决。