正文将体现如何在CentOS上运转.NET,Core项目布局到linux服务器下

 ASPNET Music Store application
是三个展现最新的.NET 平台(包涵.NET Core/Mono等)上运用MVC 和Entity
Framework的示范程序,本文将显示什么在CentOS上运维.NET
Core版本的MusicStore,并经过Jexus对外发表。

1.开始竞技表达

  a 上篇博客轻便的认证了一晃 使用.NET
Core开采的一个总括,地址是:(http://www.cnblogs.com/hanyinglong/p/6442148.html),那么那篇博客大家就在上一篇博客的底子上对其代码进行布局,将其布局在Linux
Centos7下。

  b
前一周周二,也正是三月7号,微软公布了新型的开拓工具(Visual Studio
2017),简单看了一晃,带来了越来越好的开荒体验,也助长了跨平台开荒的一大步,现在.NET的跨平台将更加的的老道。

  c 上边大家将贰个.NET
Core项目应用Jexus安顿到linux下,那么只要咱们要将贰个.NET
Core项目安插到linux服务器下,要求计划上面的几个东西(Linux服务器,Jexus,安装数据库的服务器,别的(Redis)等)。

  d 下边我们早先差不离演示一下什么样将.NET
Core项目布局到linux服务器下,测量试验地方:http://www.chuxinm.com/

上篇小说 《结缘Jexus + Kestrel 安顿 asp.net core
生产条件

大家已经陈设好了.NET Core和Jexus,那篇小说重要演示怎样运转.NET
Core上的MusicStore。 

2.Jexus简单申明

  a
官方网址地址:http://www.jexus.org/

  b
关于Jexus的装置,笔者在此以前也写过一篇文章,地址是(http://www.cnblogs.com/hanyinglong/p/5456757.html),小编写的那篇小说是基于Mono安装的,什么看头呢,也正是说要设置Jexus,将要安装Mono,然则未来Jexus提供了免Mono安装的方案,非常有益,大家可以体会一下,如若设置碰着怎么着难题,大家能够在官方网站恐怕别的地点进行查询化解。

  c
Jexus神速安装((一对命令将会安装成功Jexus))

    1.安装:sudo curl jexus.org/release/install | sh

    2.更新:sudo curl jexus.org/release/upgrade | sh

    表明:使用这种命令的设置形式将会吧Jexus安装到/usr/jexus 地点。

首先要从MusicStore的Github 旅舍里下载代码,大家使用git
克隆一份代码,运营命令
git clone https://github.com/geffzhang/MusicStore.git,下载完代码后,进入MusicStore的源码目录下,运行命令dotnet restore,这会从下载项目引用的类库(DLLs): 

3.Visual Studio 2015本香港土地发展公司布何况测量试验

  a
在地头系统开拓实现今后,首先大家要求在本香港土地发展公司布开始展览测量试验一下,假若不报错,则上传播服务器

  b
本地品种组织如下图所示:大家就依照本项目张开表露安插到Linux下。

    图片 1

    b.1
首先打开cmd,切换成品种所在盘符下,将品种切换成src根目录下(../src/项目名称下),运营命令dotnet publish,运营不报错则地面公布成功,如图所示施行成功之后也出示了将品种揭穿到何等地点的门道。

    图片 2

    b.2
如上海体育场所所示,我们跳转到发表的路线下(项目根目录下/bin/Debug/netcoreapp1.0/publish下/),运转命令:dotnet ProgrammersLiveShow.dll ,依据提醒访谈地址,可地点测量试验呢,如图所示:

    图片 3

  c
如上海教室所示,我们依据访谈路线(http://localhost:5000/),假若访谈成功,则表明本地揭橥从未任何难题,如下图所示:如有操作登入的功用,则开始展览系统登陆测量试验,确认未有另外难点在进展揭露。 

    图片 4 

图片 5

4.布署Jexus况兼安排.NET Core表达

  a
上述手续中我们大致表明了弹指间系统的一对效应以及地点宣布,将来大家来大致说雅培(Abbott)下怎么安排Jexus,因为以前设置过jexus,大家直接在Linux下找到安装的路线,如图所示:

    图片 6

  b
如上海教室所示,大家来看了jexus的装置目录,Jexus的布局其实也异常粗略,首先我们展开网址配置文件夹siteconf,然后展开暗中认可的default文件,看到如下图所示的配备,配置上粗略的印证如下:

    图片 7        

  c 如上航海用体育场面所示,大家将其项目布局到系统(/var/www/default/publish)下

    图片 8

  d
首先大家将地点公布的公文上流传服务器上,直接将地面包车型客车publish文件夹上传出/var/www/default下,如下图所示

    图片 9

  e 因为本人今日系统自己已经揭橥,所以要求将今后后台运转的线程关闭(实施上边两条命令之后,则早就上线的种类会不能够访问),要是是第三遍发布,则无需开展这一步,命令如下,如图所示:

    (1):ps -ef | grep ProgrammersLiveShow.dll  

    (2):kill -9 PID

    图片 10

  f
上传落成现在,系统跳转到publish下,试行dotnet ProgrammersLiveShow.dll,运维成功还要能够访谈,则申明发表才成功,但是如此有贰个弊病,就是宣布之后不可能关闭Xshell,如若关闭则暗许程序会推出,所以,大家能够运用上边包车型地铁授命直接将其设置为在后台运行

        命令如下:nohup dotnet ProgrammersLiveShow.dll &

    图片 11

  g
上述手续全体实施到位之后选取服务器域名加80端口号既可以够张开拜会,这里只怕存在配置80端口号对外访谈的权能,在上边会轻易表达

而是大家见到有比较多不当,原因是他援用的RC3版本,为了演示方便这里大家只使用RC2本子,大家得以运作命令git tag –list 看下都有哪些版本的tag 

5.别样知识点计算

    a
在系统往往的立异中,做好备份是很要紧的一件事情,在历次的上线替换系统此前都要进行如下命令举行备份:

     
  tar zcvf /var/www/default/remark/(日期)publish.tar.gz /var/www/default/publish/

    b Centos7开放端口,Centos7和7从前开放端口的完结差别.

       
b.1 Centos进级到7现在,发掘无法利用iptables调整Linuxs的端口,google之后察觉Centos 7使用firewalld代替了原来的iptables。上面记录如何选拔firewalld开放Linux端口

       
b.2 开启端口: firewall-cmd –zone=public –add-port=80/tcp –permanent   –zone #作用域  –add-port=80/tcp #增添端口,格式为:端口/通信协议 –permanent #永世生效,没有此参数重启后失效 

        b.3 重启防火墙 firewall-cmd –reload 

        b.4 开启防火墙: systemctl start firewalld

 

  叁个学习.NET
Core权限配置的源码购买地点:http://www.chuxinm.com/Shop/Detail/Detail?id=8c2e2aff9290446ababf9c5905fa2609

        天天一丢丢都是进化

           
 假设小说何地存在难题,款待咱们提议来,笔者会在第有的时候常间修改。

图片 12

上面这一步便是check out
1.0.0-rc2,推行命令git checkout tags/1.0.0-rc2,然后再执行dotnet restore,这次我们得到了期望的成功结果: 

图片 13 

明天大家必要做的即便运营dotnet build
编写翻译生成我们运营这些Web站点所需的二进制文件。 

图片 14

看编写翻译结果,大家编写翻译成功了2个框架的版本,当中.NETFramework
4.5.1一面如旧的是作者的服务器上的Mono 4.2版本,.NETCoreApp 1.0
正是我们要运维的.netcore
rc2版本,最终一步正是要运维我们的MusicStore了,运转命令dotnet
run就能够了:

图片 15 

以此网址运营的端口是四千,上篇小说里我们设定了贰个5001的Jexus端口转发到地头的伍仟端口,那时大家经过浏览器访谈http://mono.cloudapp.net:5001/,访问到的分界面如下,你能够尝试。

图片 16

相关文章