大家好,我是一名大三学生,就读的是软件工程专业。虽说我是软件工程专业的学生,但是我非常深刻的清楚自己其实是一个小白而已。由于计算机设计大赛上交作品需要用到云服务器,当我苦恼的去CSDN和百度上查询云服务器相关的信息,恰巧在某篇文章说到阿里云有一个“云翼计划”的活动可以提供给初学者免费的云服务器。于是我尝试一下这个阿里云的活动,一进入页面发现活动名称已经改变了,再仔细阅读后发现变成了“飞天计划”的活动。然后通过前期的学习后,免费领取了两个星期的云服务器,我真的很开心,因为我在阿里云上面学到了很多以前没有接触过的知识。Enjoy~!
<br/>
于是,我就在领取的ECS云服务器上部署自己学的一个网页。我选择的是2016的windows server服务器,当然这里建议初学者在了解自己的需求后再选择相应的云服务器。我之所以选择这个类型的云服务器是由于我用web应用是用.Net写的,那么就需要依赖windows系统的IIS发布这个网站。我在发布这个网站的时候真的是多少有点痛苦,哈哈!因为我发现有很多问题在脱离开发环境,发布到云服务器上才会突显出来。
<br/>
首先,如果是Windows系统的电脑,而且选的是Windows Server服务器,建议使用远程桌面连接来连接你的云服务器,这样会稍稍提高使用云服务器的效率。使用远程桌面连接时,选择“使用其他账户”,然后输入用户名和密码就可以使用啦!(一般用户名和密码会在开通的云服务器时候通过短信发送给用户,密码可能要去重新设置,在设置完密码后就可以通过上述操作使用远程桌面连接来连接你的云服务器!Enjoy~!),如果使用的是其他系统的话也可以使用向日葵来实现类似上述的操作(当然还有很多不同的方式,这个方式仅仅表示个人的喜好;如果想要使用更多、更好的方式,各大论坛都能找到。)
<br/>
在完成第一步连接云服务器后,就来到最重要的发布网站流程。我使用的是.NET写的一个网站,而且使用的是Visual Studio这个工具来开发的,那么发布网站其实就比较简单了。我这里用的是一个比较传统的方法就是网站项目通过‘发布到文件夹’的方式发布到文件夹,然后在IIS上添加网站,内容指定为刚刚发布到文件夹的项目,然后选择绑定内网的IP地址,再将端口修改成8080或者其他就可以完成发布的第一步了。这时候可以使用本机通过云服务器的公网IP+端口号来访问刚刚发布的网站,如果你发现访问不了,那大概就是对应的端口没有在云服务器上的安全组里设置的问题了。只需要在安全组里设置对应的端口即可解决问题,当然不同的问题需要寻找对应的解决方法。
<br/>
如果发布的网站需要使用到数据库操作的话,可以先在服务器上装SQL server数据库(比较节约成本的一种方法,如果有SQL server的云服务器也可以使用IP连接数据库),在装配置数据库的时候选择使用混合的方式连接数据库,这是因为后面发布网站不能使用Windows身份验证模式连接,只能使用sa和密码的方式连接数据库,否则发布的网站无法访问数据库。同理,建新表也要在sa用户连接模式下创建否则所建的新表可能无法映射到sa中,导致无法使用该表进行操作。最后连接字符串可以在相关论坛中查找。
<br/>
<br/>
完成以上步骤后还需要给予访问者权限,否则同样无法访问网站!在发布的文件夹下设置“属性”,“安全”下添加新的组或用户名,用户名为Everyone且给予完全控制权限,在设置完后没什么问题就能访问该网站了!Enjoy~!
<br/>
如果是因为代码中使用到.NET Framwork4.5以上版本的api而产生的错误,可以升级对应版的.NET Framwork,在升级后需要在服务器管理器添加对应的功能。在添加功能后,需要在IIS的对应的网站的高级设置中设置应用程序池,设置为.NET v4.5。最后,需要在项目的Web.config中的<system.web>节点下修改targetFramework,修改为升级对应的版本。比如,需要升级的版本为4.7.2,那么在把.NET Framwork升级到4.7.2后,将targetFramework修改为4.7.2,不能是其他的4.5.0等其它版本,否则会找不到对应的版本而报错。
<br/>
<br/>
上面是我在发布这个网站的时候出现的一些问题,当然还有其他很多的小问题,在我完成整个发布流程后,我最真实的感受是:遇到很多的问题大多可以在论坛中找到对应的解决方案,如果真的解决不了的问题可以寻求他人的帮助!
<br/>
总结:在解决问题的过程中也是一种成长,也是一种享受!希望接下来的时间可以在巨人的肩膀上不断的进步,为社会做出属于自己的小小贡献。Enjoy~!