ASP.NET Core 一步步搭建个人网站(1)_环境搭建

ASP.NET Core2.0颁布有说话了,这是.NET 开源跨平台的一个要里程碑,
也意味比1.0本子要更为成熟。目前.net
core具有开源、跨平台、灵活安排、模块化架构等等特色,吸引着一样格外批判开发者。笔者为开进入拥抱.net
core大军,那就是增加建筑一个私网站吧!

首先申明的是,这应是一个马拉松的路,我会不定期的更新,持续集成,慢慢的将想使的新力量叠加至网站及。这吗是累之进程,我盼望由此文章分享给博友们,也接你们关心我,与自己一块讨论,共同进步!

话不多说,咱们开~

布置环境

服务器环境

  • 操作系统:Windows Server 2008 R2
  • 数据库:SQL Server 2012

开发条件

  • VS 2017

这里为搭建公网可以看的网站,服务器本身用底凡XX云服务器(自带Server
2008系统,提供公网IP)。当然大家只是想练练手不思量花钱,也未尝涉及,本地运行调节也好,有些远程配置内容可以一直跨越了。

生矣服务器,我们尚索要搭建数据库。这里自己选的是SQL Server 2012
Express版(带数据库管理工具,大概700M),对承诺中小型应用就是够用了。主要因言语服务器CPU、内存、磁盘是在极其贵重了,尽量够用就吓,不用时或效益最好全的版本。

SQL Server安装与布局

运作SQL Server
安装包,按照提示一步步设置即可,默认安装是含有客户单SDK和管理工具,安装了后,SQL Server会自动生成一个数据库实例;打开菜单中SQL
Server Management
Studio,连接数据库实例,可以看来能够正常访问数据库。当然,这样看当地的数据库没问题,但是咱得外网远程访问数据库,所以需要开些配置:

第1步,我们选中数据库实例,右键–>属性–>选中 安全性

以远程访问就无克只是经过Windows身份验证了,这里我们选中SQL
Server和Windows身份验证模式;

第2步,选中 连接,确认“允许远程连接到之服务器”选中;

第3步,数据库实例–>安全性–>登录名–>sa右键属性

以超级管理员sa密码设置一下,并拿sa用户启用;

第5步,先离,再就此sa登录,成功就表示sa帐户已经启用

第6步,我们得以关闭SQL Server Management Studio,打开SQL Server
配置管理器

入选MSSQLSERVER的之商事,将TCP/IP协议状态改成为既启用(默认是禁用),完毕后我们重新开SQL
Server;

由来,SQL
Server的相干配置都装完,但还是不能够支撑远程访问,我们还得装一下服务器防火墙。

服务器防火墙配置

开拓服务器管理器,选中防火墙配置,里面来“入站规则”,点击进入;

当选“新建规则…”

规则类型选择端口:

协商选择TCP协议,端口号输入1433(SQL Server默认端口)

生一样步,选择“允许连接”

下同样步,规则配置文件,全选

终极,输入规则名称,取名“SQL Server
端口”,点击完成,可以看来我们的增长的平整都于防火墙允许看范围了。

 

测试远程访问数据库

以该地机械及打开VS
2017,找到视图-服务器资源管理器–数据连接,右键–>添加连接;

重复改数据源,选择Microsoft SQL Server ;

 服务器名,输入云服务器的IP地址,选择SQL
Server身份验证,敲入之前安装的用户称以及密码,就可加载远程数据库实例下之拥有数据库。这样我们连远程数据库就不曾问题了。

 IIS环境和.NET Core Windows Server Hosting配置

 为了在服务器上运行我们的网站,首先需安排IIS。

Server 2008上,添加”角色”,选中“Web 服务器”,完成IIS安装。

一般的.net发布之网站,现在便足以配备运行了,但是.net
core与民俗的Asp.Net程序不同,Asp.Net Core App使用了Kestrel
Server。Kestrel是一个跨平台的Web
Server,与IIS一样承受请求的监听、接收及应,但尚未IIS丰富的军事管制作用,仍待由IIS来拍卖部分放权工作。

为此这块我们还需要设置IIS到Kestrel server的反向代理:.NET Core Windows
Server Hosting bundle 

安完成后,我们尽管足以正式的搭.net core网站了。

 创建Asp.net Core Web项目

备干活做得了晚,我们算是可以起来建造类了,打开VS
2017,文件–>项目,创建Asp.net Core Web项目,点击确定;

 

这边默认选项择.net core 2.0环境,Web
应用程序(模型视图控制器),注意,这里的身份验证,我选了个人用户账户,主要是惠及用户与角色管理,和身份验证。后面来独立的段,专门与大家探讨一下这块的学识。确定后,VS
自动帮咱转移好但运行的类代码。

这儿,我们且通过连日远程服务器上的数据库,通过Code
First方式,生成数据库表结构了。

先期以数据库中实例中,创建一个数据库,命名也MyWebSite:

于地头VS中,通过事先服务器资源管理器的布局,我们看好连接MyWebSite这个数据库,并测试连接成功。

点规定建立数量连接,右键–>属性,可以查连接字符串,拷贝一下斯连续字符串

Data Source=180.*.*.89;Initial Catalog=MyWebSite;User ID=sa;Password=***********

开拓项目安排文件appsettings.json:

管默认的连续字符串用者字符串替换如下:

  "ConnectionStrings": {
    "DefaultConnection": "Data Source=180.*.*.89;Initial Catalog=MyWebSite;User ID=sa;Password=*******"
  },

这么,数据库连接就安排好了。因为选择的是个人身份验证的型,所以VS帮我们转变好了对应的实体类和数据库迁移,我们所设开的,是要是数据库更新,来扭转对应的表明结构。

开辟工具–>Nuget包管理器–>程序包管理器控制台

输入update-database并运行,成功后,我们回头看远程的MyWebSite数据库,帮我们自动生成了拥有的阐明结构

紧接下,我们ctrl+F5运转一下,网站正常启动如下:

揭晓网站及服务器

 网站本地运行无问题了,我们延续延续发布之操作,项目右键,选择“发布…”,暂时我们捎地面文件夹(后面项目管理之时光,我们再布局远程发布),将发布后变的文本拷贝到提服务器上,这里坐c:\MyWebSite目录中。

IIS管理中,选中网站,把默认的Default Web
Site停用,因为它占用了80端口,跟咱们只要搭建的闯;

右键–>添加网站

正如图布,用80端口,HTTP默认访问端口。

接触确定,这样咱们的网站及这,成功搭建!

因此用浏览器,输入外网IP地址访问我们的云服务器(如果非能够正常访问,请检查防火墙是否开放了80端口,按照事先设置一下便尽):

 

ok,完美~

相关文章