当前位置: 永利皇宫手机版网址 > www.304.com > 正文

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

时间:2019-12-06 18:07来源:www.304.com
【题外话】 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)。闲的猥琐竟然想尝试测量试验自身做的类型在区别操作系统上的属性表现,所以决定尝试在Linux上安顿Apache和Mono的条

【题外话】

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)。闲的猥琐竟然想尝试测量试验自身做的类型在区别操作系统上的属性表现,所以决定尝试在Linux上安顿Apache和Mono的条件。由于平日比少之甚少接触Linux,所以从网络找了几篇小说(附在相关链接中)尝试,安插的进度也不要一帆风顺,所以就依据本身在Azure上配备的情形再度开展了收拾,希望对比超级少接触Linux的同班有所协理。以下有所操作均在Azure上的虚拟机里陈设,假诺在地点恐怕设想机里布署,可能率先还亟需布置网卡设置等。

 

【作品索引】

  1. 在Ubuntu下安装Apache
  2. 在Ubuntu下安装Mono
  3. 在Ubuntu下部署ASP.NET网站
  4. 在openSUSE下的操作
  5. 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)。在CentOS下的操作
  6. 连带链接

 

【一、在Ubuntu下安装Apache】

Ubuntu Server安装未来,默许未有图形分界面,其实在Linux不用图形界面也比较轻松就能够实行布局。在Azure上安排好Ubuntu Server(这里运用Azure上提供的Ubuntu Server 12.04 LTS,二〇一三/6/24)今后,会自动配置好SSH的22端口,大家能够直接行使SSH工具连接服务器,这里运用免费开源的PuTTY(在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)。)。假如在Azure上铺排的施用密码连接主机则这里平昔输入地方点击“Open”就能够,假如还上传了SSH密钥,则还应在Connection/SSH/Auth里筛选相应的密钥技能够接连。

图片 1

连天后输入设置的客户名和密码就能够登陆Ubuntu系统,会现身如下图的命令行,大家所做的差不离具备职业皆以由此命令行操作的。

图片 2

在Ubuntu下安装软件其实非常常有扶植,Ubuntu提供了apt-get工具,能够运用该工具直接下载安装软件。

在Linux里,系统最高权力账户为root账户,而暗中同意登陆的账户并不是root账户,比如不有所安装程序等权力,不过同Windows同样都提供了晋级权限的法子,正是sudo命令,在实践的每条命令前增进“sudo ”,即能够root账户的权力实施。在首先次采取sudo时会须求输入当前账户的密码,确认后就能够在大器晚成段时间(暗中认可5分钟)内使用sudo命令都不须要输入密码,豆蔻梢头段时间未有行使后则需求重新输入密码。

先是大家设置Apache,输入下列命令,之后会唤起是不是安装等,输入Y继续。软件包详细情形:

sudo apt-get install apache2

图片 3

等候生龙活虎段时间后,Apache就能活动安装配置好,那时候可以安顿好Azure上的80端口,配置好后采用浏览器访谈服务器之处能够看来如下图的唤醒,表明安装成功。

图片 4

 

【二、在Ubuntu下安装Mono】

Linux有个开源的.NET运营时,叫做Mono(),能够支撑在Linux上运维.NET应用程序。

还是按上述情势输入下列命令安装Mono及C#编写翻译器,软件包实际情况:

sudo apt-get install mono-gmcs

设置完后得以输入“mono -V”查看安装的mono的版本(注意V是大写的),当然也得以写个C#的ConsoleApp看看,可以用下列命令编写翻译C#代码。

gmcs test.cs

大器晚成经程序未有毛病的话则会生成test.exe,能够由此如下命令试行。当然也得以在Windows上编译好exe文件后复制到Linux上施行也是足以的。

mono test.exe

接下去遵照自身供给的本子选用设置Apache对ASP.NET 2.0或许ASP.NET 4.0的补助,mono-apache-server2为ASP.NET 2.0的支撑,mono-apache-server4是ASP.NET 4.0,两个能够并且存在,切换要求在Apache的配置文件中切换。软件包详细情形:

sudo apt-get install mono-apache-server2

不精通怎么,安装到结尾会卡在这里个地点

图片 5

只可以由此Ctrl+Z强制退出,然后输入“sudo reboot”重启服务器,不过Linux服务器非常快就会重启完

日后再设置Apache的模块libapache2-mod-mono就能够。当然,mono-gmcs、mono-apache-server2、libapache-mod-mono都以可以大器晚成并安装的,不过要在意mono-apache-server2和libapache-mod-mono的各样,如若mono-apache-server2在libapache-mod-mono之后的话,由于重视项的原由,libapache-mod-mono会今后活动选取安装mono-apache-server4。并且,假使一齐装的话,在上述卡住的地方Ctrl+Z重启后,libapache-mod-mono并从未配备完结引致众多操作不可能执行,还必要施行“sudo dpkg --configure -a”这句发号布令才行。软件包详细情况:

sudo apt-get install libapache2-mod-mono

然则安装完纵然展开网址开采还是无法推行,其实是从未有过布署ASP.NET应用程序。纵然未来支撑电动配置应用程序,可是依然供给改正/etc/apache2/mods-available/mod_mono.conf文件。(原文见:)当然如若你会手动配置应用程序的话也得以在该公文中手动配置应用程序(下同)。

sudo vim /etc/apache2/mods-available/mod_mono.conf

图片 6

按钮盘上的i键启用vim的编辑撰写格局,由于mono-server2-hosts.conf文件中曾经对广大参数实行了配置,所以仅必要按图中的增多“MonoAutoApplication enabled”生机勃勃行就可以。此外,倘令你的网址中还会有任何的文件格式(比方HttpHandler日常使用.axd),请加多在第生龙活虎行前边,其余要是网址暗中认可文件不是index.aspx还须求改革第二行后的文本名。注意,由于Linux是分别轻重缓急写的,所以切记不要把大小写搞错。

假使服务器上还安装了ASP.NET 4.0的支撑(mono-apache-server4),並且须求切换成ASP.NET 4.0,那么仅须要修正最终风流倜傥行,将2改为4就可以。

校勘完后按Ctrl+C截至编辑情势,然后按冒号键(:)步向命令格局,输入w保存文件,然后再一次按冒号键,再按q键退出vim。

末尾实践下述命令重启Apache服务器就可以。

sudo /etc/init.d/apache2 restart 

 

【三、在Ubuntu下部署ASP.NET网站】

在Windows上配备网站能够通过远程桌面直接把网址或打包好的网址复制过去,在Linux下实际SSH不光能够支持命令行,还是能够扶植文件传输,小编那边运用无偿开源的Filezilla(),Filezilla协理FTP和SSH二种左券,在站点微机中选拔SFTP公约,然后把登入类型设置为正规,输入客户名和密码就可以登陆。

图片 7

登陆后暗中同意的路线为/home/客商名/,就跟命令行下暗许的目录黄金时代致。Apache的暗许路径在/var/www/,能够在此之下找到index.html,也便是拾壹分“It works”的网页。可是那个目录日常客户的权限为不能够写入,所以不可能将网站向来配备到这些目录下。当然你能够在PuTTY下将以此目录的权柄校勘后再上传,不超过实际在还是能够有更简便的主意,正是将包裹文件上传到客户目录下然后再解压缩到那几个目录下。

率先安装zip解压缩程序,软件包详细的情况:

sudo apt-get install zip

接下来将索要上传的网址打包为zip文件,然后上传到客户目录下(/home/客户名/),然后在命令行中输入就足以了。

sudo unzip 压缩文件名.zip -d /var/www

理当如此,以往用你的浏览器访问你的服务器地址仍为“It works”,大家还要删除index.html就足以了。

sudo rm /var/www/index.html

 

【四、在openSUSE下的操作】

分化的系统运用区别的软件包管理程序,SUSE则提供了三个叫zypper的软件包管理程序,使用也特别实惠(这里运用的openSUSE是Azure上提供的openSUSE 12.3)。

第一是安装Apache。

sudo zypper install apache2

与Ubuntu安装进度区别的是,在设置达成后并未运行Apache的提示。所以还索要手动配置服务自运转。

sudo systemctl enable apache2.service

下一场顿时运维Apache。

sudo systemctl start apache2.service 

以后用浏览器就足以访问服务器了。

接下来利用zypper安装Mono了(当中System.Drawing会用到libgdiplus,多语言扶助会用到mono-locale-extras,然则就算如此还会有一点点零件未有设置,前面会表达):

sudo zypper install mod_mono libgdiplus mono-locale-extras

接下去要求配备mod_mono,这里推荐应用官方提供的,页面张开后如下图所示:

图片 8

能够选用Virtual Host或然Application二种格局,第风流倜傥种能够依据央浼的服务器地址设置ASP.NET网址的根路线,第二种能够依照央求的设想目录设置ASP.NET网址的根路线。除却页面下方还会有几个设置可以自定义,设置完后增选页面下方的Download下载.conf文件,将文件上传到openSUSE服务器后使用如下命令复制到Apache配置文件夹下:

sudo cp 配置文件名.conf /etc/apache2/conf.d/

从今以后能够像Ubuntu同样给openSUSE安装上zip解压缩工具(sudo zypper install zip),将压缩文件解压缩到安装的网址根目录后就可以。之后只需求重启Apache服务器后就足以至时访谈ASP.NET网址了:

sudo systemctl restart apache2.service

内需当心的是,那样成功后不像Ubuntu把众多依附库都装上了,假如按上述命令的话唯有以下构件棉被服装置:

图片 9

据此大概还恐怕有相当多亟待的组件未有安装,例如供给连接Oracle数据库时,可能提醒找不到System.Data.OracleClient程序集,须求安装“mono-data-oracle”,届时候能够依赖现身的错误再设置。其实也足以遵照通配符安装“mono*”,把跟mono有关的都安装上,也就那样也会装相当多不须求的机件。

 

【五、在CentOS下的操作】

CentOS的软件管理程序是yum(这里运用的CentOS是Azure上提供的CentOS 6.3)。

率先仍旧设置Apache。

sudo yum install httpd

与openSUSE相同,安装完供给自个儿手动配置服务自运营。

sudo chkconfig --levels 235 httpd on

接下来顿时运行Apache服务。

sudo /etc/init.d/httpd start

这段日子再用浏览器访谈服务器地址就能够符合规律访问Http服务器了。

可是CentOS官方未有打包好的mono的rpm包,所以比较好的措施是团结编写翻译。

第黄金时代配置好编写翻译的境况。

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

也许会提示须要进步kernel-headers,可是系统只怕暗中认可制止了基本的包,所以如果出现上述命令不能够推行安装的话,还亟需在上一条命令之后附加“ --disableexcludes=main”,即如下的花样。

sudo yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make freetype-devel fontconfig-devel libX11-devel libpng-devel libjpeg-devel libtiff-devel giflib-devel libexif-devel cairo-devel httpd-devel --disableexcludes=main

若是整个安装成功,能够试行下列语句下载需求安装组件的源码包并解压缩。

cd /usr/src/
sudo wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
sudo wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
sudo wget http://download.mono-project.com/sources/xsp/xsp-2.10.tar.bz2
sudo wget http://download.mono-project.com/sources/mod_mono/mod_mono-2.10.tar.bz2

sudo tar jxf libgdiplus-2.10.tar.bz2
sudo tar jxf mono-2.10.8.tar.bz2
sudo tar jxf xsp-2.10.tar.bz2
sudo tar jxf mod_mono-2.10.tar.bz2

编写翻译并安装libgdiplus。

cd /usr/src/libgdiplus-2.10
sudo ./configure --prefix=/usr
sudo make ; sudo make install

下一场编辑/etc/ld.so.conf文件,增加意气风发行“/usr/lib/”,如下图所示,保存之后再进行如下命令,从而使系统能够将libgdiplus.dll自动映射到对应的so文件中。(原著见:)

图片 10

sudo ldconfig

然后是Mono。

cd /usr/src/mono-2.10.8
sudo ./configure --prefix=/usr
sudo make ; sudo make install

接下去安装xsp。

export PKG_CONFIG_PATH=/usr/lib/pkgconfig
cd /usr/src/xsp-2.10
sudo ./configure --prefix=/usr
sudo make ; sudo make install

然后安装mod_mono。

cd /usr/src/mod_mono-2.10
sudo ./configure --prefix=/usr
sudo make ; sudo make install

接下来再改过“/etc/httpd/conf/mod_mono.conf”这么些文件,与Ubuntu上同名的配备文件配置相像。然则出于不像Ubuntu下有现有的安顿文件,所以供给在文件中增加如下两行,由于设置的时候自动安装了2.0和4.0的帮忙,所以可以将如下的2换为4就能够启用ASP.NET 4.0:

MonoServerPath "/usr/bin/mod-mono-server2"
MonoAutoApplication enabled

接下来将安排文件复制到Apache的布局文件目录中: 

sudo cp /etc/httpd/conf/mod_mono.conf /etc/httpd/conf.d/

由于CentOS自带的SELinux的因由,使得Apache不可能连接到mod-mono-server,所以大家以往还亟需布署SELinux。当然,这里为了轻巧就独自禁止使用SELinux,风乐趣的能够和谐创立安全计谋,使mod-mono-server能够生效。这里改过/etc/sysconfig/selinux文件。将“SELINUX=enforcing”改良为“SELINUX=permissive”或“SELINUX=disabled”,比方下图,保存重启系统就可以。

图片 11

之后就足以透过SSH将网址打包上传上去就能够一贯访谈了。但是须求静心的是,CentOS上的Apache暗中同意的根路径在“/var/www/html”下,当然也足以在“/etc/httpd/conf/httpd.conf”文件中期维改过寄存网址根目录的门径。

 

【六、相关链接】

1、配置linux(apache) + mono 下运行 asp.net:http://www.cnblogs.com/hcl0208/archive/2010/10/25/1860173.html 2、openSUSE上安装Mono并发布ASP.Net程序:http://www.linuxidc.com/Linux/2011-04/34872.htm 3、CentOS 6.0 安装 MONO 2.10.8:http://www.cnblogs.com/aquilahkj/archive/2011/11/03/2234380.html 4、Mono情状下不辅助中文的消逝办法:

编辑:www.304.com 本文来源:在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

关键词: