Linux(CentOS 陆.7)下安插Mono和Jexus并且安排ASP.NET MVC3、四、5和WebApi(跨平台)

4.  配置Mono

  a.
Mono的安装在总体 进度中时间相比较长,请大家耐心安装。

  b.
cd跳转到文件夹kencery,在此文件夹上面创立mono文件夹,命令如下:

    b.1 (1):cd /usr/local/kencery
 (2):mkdir mono  (3):cd mono/

  c.
使用命令wget下载最新版本的mono,命令如下,下载实现之后将包解压(至于安装包里面是怎样内容,请自行行职分令ls
-l查看),如下图所示:

    c.1 wget http://download.mono-project.com/sources/mono/mono-4.4.0.148.tar.bz2

    c.2 tar -jxvf mono-4.4.0.148.tar.bz2

      C语言 1

    备注:能够打开http://download.mono-project.com/sources/mono/此网站查阅全体的文书,选取想要下载的文本,作者那里下载的是流行的mono。

  d.
进入mono-4.4.0(cd mono-4.四.0)文件下,执行上边包车型地铁下令进行设置

    d.1 ./configure –prefix=/usr

    d.二 make
(发现会并发众多告诫,不用顾虑,不会潜移默化到花色布置)

    d.3 make install

  e. 上述命令执行到位之后,输入mono
-V若是含有mono的版本消息,则注明安装成功,版本音信如图所示:

    C语言 2

一.开篇表明

  a.
首先小编在写这篇博客在此以前,已经在协调当地配置了mono和jexus并且成功布置了asp.net
mvc项目,我也是依赖于在网上查找的各类质感来配置环境并且配备项指标,而其在网上也已有了不少那地方的篇章,故而作者就想自个儿是写依旧不写啊,不过想来想去,小编大概写一下吧,因为网上的篇章太混乱,不是最新版本,不是很整齐并且也或然会蒙受各个各种的题材,所以作者主宰写一篇从无到布置项目上线的稿子同时会友情提示广大剧情以及缓解方案,希望也能够融入自个儿的合计。

  b.
因为以往跨平台是1个样子,网上学习的人口众多,笔者说不定写的不好,希望我们见谅,上面开首从无到有个别经过吧。

5.  配置Jexus

  a.
当mono配置达成同时测试没不不奇怪的气象下,那时候大家就可以对Jexus进行安顿了。

  b.
cd跳转到文件夹kencery,在此文件夹上边创造jexus文件夹,命令如下:

    b.1 (1):cd /usr/local/kencery
 (2):mkdir jexus (3):cd jexus/

  c.
使用命令wget下载最新版本的jexus,命令如下,下载落成以后将包解压(至于安装包里面是何许内容,请自行行职分令ls
-l查看),如下图所示:

    c.1 wget http://www.linuxdot.net/down/jexus-5.8.1.tar.gz

    c.2 tar -zxvf jexus-5.8.1.tar.gz

      C语言 3

      备注:在官网下找到最新的jexus下载。

  d.
进入jexus-5.8.一(cd jexus-5.八.壹)文件下,执行上面的指令实行安装

    d.1 sudo ./install

    备注:在实施install脚本时,jexus暗中同意是设置到/usr/jexus/中,如若您想安装到自定义的目录,能够在进行该脚本的时候扩展一个索引参数(sudo
./install /usr/local/kencery/jexus/)

  e.
因为Jexus是多个劳务,故而能够决定总体服务的开发银行、甘休、重启,命令如下,请自行测试

    e.1
启动 sudo /usr/jexus/jws start

    e.2
停止 sudo /usr/jexus/jws stop

    e.3 重启 sudo /usr/jexus/jws
restart

  f.
当然也得以控制钦点网站的起步,甘休,重启,命令如下:请自行测试

    f.一运转 sudo /usr/jexus/jws start website(网址名称)

    f.二 结束 sudo /usr/jexus/jws stop
sizeName(网址名称)

    f.三 重启 sudo /usr/jexus/jws
restart sizeName(网址名称)

  g.
使用命令:sudo /usr/jexus/jws start运营,假如jexus运维OK,则证实安装成功了。

  h.
当jexus运营成功,那时候大家想在外头访问jexus,不过浏览器访问出错,使用ping
域名是能够ping通,不过浏览器访问就是败退(提示:不能够访问此网址,192.168.37.13捌的响应时间过长),这是怎么吗?那是因为jexus暗中认可是80端口,而系统装置达成未来80端口是不容许外界访问的,故而访问不了,设置将80端口开放使外围可以访问。

    h.1 cd /etc/sysconfig/

    h.二 vim iptables
修改并且保留,如图所示:

      C语言 4

    h.三 重启服务  service iptables
restart

  i.
当h完成之后,重启jexus,输入如下网站访问,如图所示,则印证jexus安装完全成功,接下去大家就需求配备ASP.NET
MVC项目了。

    C语言 5

  备注:连忙安装格局(1对命令将会设置成功Jexus)

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

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

     表明:使用那种命令的安装格局将会吧Jexus安装到/usr/jexus 地点。

 

————————————-华丽的分割线—>上面将ASP.NET
MVC项目布局到Jexus下——————————————————-

2.Mono和Jexus简单表达

  a.
Mono是由Novell公司(由Xamarin(已被微软收购并且将会开源,前途一片光明)发起,五个转业于开创.NET在Linux上接纳的开源工程。它含有了二个C#语言的编写翻译器,一个CLTiggo的周转时和1组类库,并且完成了ADO.NET和ASP.NET,能够使的开发职员在Linux下用C#支付顺序。)主持的品种,该项指标指标就是开创一俯十皆是符合标准的ECMA(Ecma-33四和Ecma-33伍)的.NET工具,包含C
#编写翻译器和共同语言(CL 即 Common
Language)执行平台(Platform),与微软的.Net不相同:Mono项目不仅可以运转于Windows系统内,还足以运作于Linux、
FreeBSD、Unix、Mac OS X和Solaris,可以说是完完全全的跨平台。

  b. Jexus即Jexus Web
Server,简称JWS,是再linux平台上的一款ASP.NET WEB服务器,Jexus for
linux有如下特征:

    b.1扶助多样操作系统:Jexus最初的规划目的就是”跨平台的ASP.NET
WEB服务器”,由于在window系统上,IIS已经是ASP.NET的精良平台,所以当前的Jexus以帮忙Linux和FreeBSD等非Windows系统为机要设计目标。

    b.二高品质:“高品质”是Jexus的重大设计目的,固然Jexus基于Mono环境运维,但Jexus并非一切由mono的.NET组件构成,对于涉嫌品质的关键代码,Jexus格外抢眼的恢宏用到了Linux/Unix自个儿的地道性情,从代码层面确认保证了Jexus的品质优势,同时Jexus的框架特征也为高品质提供了基础保证。Jexus不象XSP那样,纯HTML也急需经过ASP.NET处理,更不象Apache和Nginx等服务器,必要通过插件的款式直接地对ASP.NET实行支撑,Jexus把HMTL静态文件处理模块、ASP.NET处理模块、静态文件高速缓存机制、epoll/poll数据传输体制等举行了莫斯中国科学技术大学学集成,从架构自身入手,最大限度地提升WEB服务器的拍卖能力和传输速度。

    b.3安全性:Jexus内核含有安全监察体制,绝半数以上恶意访问在进入网址前就会被Jexus直接Pass掉,那是Jexus有别于此外Web服务的一大特点。

    b.四稳定性:从运维机制而言,Jexus系统中,有特意监测工作历程执市价况的军管单元,任何三个进度退出恐怕其他贰个ASP.NET网址应用程序域退出,就会被管制单元发现并且重启,从而保险了Jexus能够不断不间断的干活,旧程序自身而言,Jexus程序的代码力求言必有中,Bug很少,同时,Jexus的各类版本在正儿八经公布在此以前,都要进过严刻的下压力测试,影响平安的因素,差不离在正规发布在此之前既已被全体免除。

    b.5功效强大,Jexus补助UEnclaveL重写,帮忙多目的服务器的反向代理,扶助PHP,协理GZIP压缩传输并且可以运用差别端口,分裂虚拟路径,不相同域名设置任意数量的网址。

    b.陆安装、配置、操作即为不难,服务社区化,各类难点都能急忙的处理,有美妙的存在延续服务帮助能力。

    b.7在官网下还有部分益处请查看:http://www.linuxdot.net/bbsfile-3084

      备注:部分内容来自网络,多谢张善友等社区活泼人士。

    c.
Mono官网:http://www.mono-project.com/

    d.
Jexus官网:http://www.jexus.org/

    e.
工欲善其事必先利其器,那么上面大家来拓展配置mono和Jexus并且布置MVC网址,本次操作供给动用的软件以及系统如下所示:虚拟机(Vmware)、虚拟机中设置的Centos系统(六十二位)(IP:1玖二.16八.三7.13八)、Xshell、Xftp至于怎样行使它们大家上边会说起。

C语言,3.  配置Mono需要的GDI+兼容API的库Libgdiplus

  a.
通过地点不难的啊介绍之后,大家伊始安排mono和jexus,在布局mono在此以前,首先来安排Libgdiplus。

  b. 使用XShell连接Centos,然后输入更新系统命令:yum -y update将低版本的系统升级(作者的从centos陆.肆升级到6.柒),陆.4下计划也足以。

  c.
执行落成之后,在设置供给的软件,命令如下:

    yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel  cairo-devel

    备注:恐怕电脑早已设置了那一个文件,可用rpm -qa libexif*命令查看,但是那里为了保险万无一失,直接全体履行。

  d.
执行完成之后跳转到local上面创设属于自个儿的文本夹kencery,在此文件夹下边成立libgdiplus文件夹,命令如下:

        d.1 (1):cd usr/local/  
 (2):mkdir kencery    (3):cd kencery/   (4):mkdir libgdiplus
 (5):cd libgdiplus/

  e.
使用命令wget下载最新版本的libgdiplus,命令如下,下载完结之后将包解压(至于安装包里面是哪些内容,请自行行义务令ls
-l查看),如下图所示:

    e.1 wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-4.2.tar.gz

    e.2 tar -zxvf libgdiplus-4.2.tar.gz

      C语言 6

    备注:可以打开http://download.mono-project.com/sources/libgdiplus/此网址查阅全数的文书,选用想要下载的文书,笔者那里下载的是最新的libgdiplus。

  f.
进入libgdiplus-4.二(cd libgdiplus-四.二)文件下,执行上边包车型大巴一声令下举办安装

    f.1 ./configure –prefix=/usr

    f.2 make

    f.3  make install

6.  部署ASP.NET MVC项目

  a.
当mono配置完毕而且测试没反常的动静下,那时候大家就供给向其配备MVC项目,那么如何安排项目呢?那块很关键

  b.
那么怎么安顿一个新的网址先后吗?

    b.壹首先要求建立贰个”网址配置文件”,jexus安装的不贰秘籍下(小编本机安装在/usr/jexus)下有三个siteconf文件夹,那里面包车型大巴每一种文件都是一个网址的配备文件,每2个配备文件就代表三个网址,在(/usr/jexus/siteconf/)中,就早已有1个暗中同意的网址配置文件,文件名称叫:”default”;你能够修改那个布局文件,也足以将那么些布局文件赋值并修改为三个新的站点。

    b.2在布署文件中,有关键的叁项是必填项:

      port:端口号定义,端口号是三个平头,一般是80,也足以是6553伍以下的其他整数,不过那些端口号必须未有别的服务程序占用。

      root:虚拟根路径和情理根路径的概念,根路径由两有的构成,中间用空格分开,空格前代表这一个网址访问时的虚构根路径(一般都以”/”,不用修改),空格后是存放在那个网址内容的文本夹的大体路径(比如:”/var/www/default/”)

      hosts:域名定义,填写访问那几个网址的域名,假如有三个域名,域名间用英文逗号分开,同时还是能用”泛域名”,比如:”*.mysite.com”。

      网址名称:jexus把网址配置文件的名号作为网址名。

    b.3首先拷贝一份default文件,拷贝到jexus安装的不二诀窍下的siteconf下,然后修改里面包车型的士始末,命令如下:

      (壹):cd /usr/jexus/siteconf/ 
     (2):cp default  mms     (三):vim mms  
 修改之后保存如图所示:

      C语言 7 
  

    b.三那时候在jexus中我们将网站配置文件已经配备完结,然而还从未上传网站,那时候我们供给上传网址,上传的门道如上海教室所示在/var/www/mms下,假若未有公文,则创建即可。

  c. Visual Studio陈设网址

    c.1首先咱们将上面包车型大巴花色搬迁到Jexus下,此项目不是德姆o,是二个在其实情状中动用的体系,故而结构就不截图了,只简简单单将主项目截图,项目布局如图所示:

      C语言 8

    c.二然后使用VS的发布意义,将品种揭露,和一般的档次揭破1模1样,那里就不做详细讲解了,请参考: http://blog.sina.com.cn/s/blog_8ce459cd0102v1kx.html,在公告的时候请小心设置选项下的安插,如图所示:(笔者刚开底陈设始终不成事便是因为这边配置的因由)

      C语言 9

    c.三项目揭破完毕之后,删除无用的文本消息,如图所示:

      C语言 10 
 C语言 11

  d.  将项目搬迁到Jexus

    d.一首先在Linux下跳转到供给停放项目标目录下(cd /var/www/mms),打开XFtp,将网址文件上传都此目录下,如图所示:

         
 C语言 12

    d.2其次大家须求开放8080端口,在篇章下边已经说过怎样开放端口80,参考开放即可,那里就不在累赘了。

    d.3使用jexus的重启功用重新开动Jexus大概运转网址(./jws start或许./jws start mms(要是那几个访问依旧有题目,则利用前面的指令实行运行))

  e.  安插到位后走访项目

    e.壹 安顿到位现在拜访发现并发了之类图所示的一无所能,出现了很乱的剧情,那是因为Linux下是分别轻重缓急写的,故而大家供给配置jexus,使其大小写都得以转换,那么会怎么布置呢?

      C语言 13

    e.二打开jexus的安顿文件(vim jws),裁撤# export MONO_IOMAP=”all”那段内容的先头的#,保存,然后重新启航jexus(./jws restart),如下图所示:

      C语言 14

    e.3最终大家在浏览器中访问(http://192.168.37.138:8080/),如图所示:项目曾经彻底迁移到Jexus下。

      C语言 15

    备注:作者对品种进展了简易的操作,未有晤面别的难题。

  f.  表达:本博客安排的档次是ASP.NET
MVC五项目,还足以计划MVC三、肆和WebApi,欢迎我们尝试,假如境遇怎么样难题消除不了,欢迎联系笔者咨询,大家一同学习。

    Jexus的向上充足快速,在此之前在选拔Jexus下必须安装mono,今后曾经出现了不须要设置mono就足以应用的Jexus版本了(当然依然依靠于mono,只可是是Jexus内部内置了四个小的mono环境),学习地点:http://www.cnblogs.com/yunei/p/5452120.html

      备注:本地已做测试,根据宇内大师兄的稿子去落到实处,未有任何难点,详细请参考上边的博客。

    最后谢谢张善友的小说给本身的思绪和促成:http://www.cnblogs.com/shanyou/p/3218611.html

 

    每一天一点点都以发展

      假诺小说何地存在难题,欢迎大家建议来,笔者会在第1时半刻间修改。