.net mvc——ASP.NET MVC项目部署到阿里云服务器(WindowsServers+IIS8.0环境)

时间:2024-04-14 08:52:34

1、首先在阿里云服务器windows server 2012 配置asp.net的IIS服务,

这里主要参考博文: 阿里云windows server 2012 配置asp.net的IIS服务
但上面链接的教程中,有一个问题,在添加服务器角色时,除了需要添加 Web Server(iis),还需要在 Web服务器(IIS)中启用ASP.NET 4.6、ISAPI扩展,主要如下图:
.net mvc——ASP.NET MVC项目部署到阿里云服务器(WindowsServers2012+IIS8.0环境)
同时建议将 websocket 也勾选上, 如果没有添加 ISAPI,那么非静态的页面就无法访问。在后面真正部署项目时会报 403.14-Forbidden Web 服务器被配置为不列出此目录的内容 的错误。

主要原因如下:

  • 一般情况下,IIS接受到请求后,如果是静态的文件,比如html, css,javascript文件,它会直接请求文件,前将返回的结果返回给客户端,那如果不是静态文件呢,比如:asp, aspx, php等请求呢,这时候IIS会把请求交给对应扩展API模块来处理。接管.net 者asp.net mvc请求扩展API的名字叫isapi
  • 这里主要参考了博文: IIS部署错误: 403.14-Forbidden Web 服务器被配置为不列出此目录的内容

2、将项目部署到阿里云服务器

这里主要参考博文:visual studio发布到远程服务器的IIS

需要在配置完成后,在系统防火墙选项中添加对应的入站出站规则,同时建议在阿里云的网页控制台添加相应的防火墙规则,如下图:
.net mvc——ASP.NET MVC项目部署到阿里云服务器(WindowsServers2012+IIS8.0环境)
之后一般还会遇到如下问题:
.net mvc——ASP.NET MVC项目部署到阿里云服务器(WindowsServers2012+IIS8.0环境)
这是因为文件夹的读写权限不够,
解决方案:选中该原文件夹,右击选择它的属性,打开“安全”选项卡,看到“组或用户 名”,单击“编辑”按钮添加一个新的用户名“Everyone”,然后更改它的权限,将第二个权限“修改”设置为允许就可以。

这里参考了博文:ASP.NET MVC网站部署在阿里云服务器(WindowsServers2012+IIS6.0环境)

3、还有可能遇到的问题