在 debian/ubuntu 上安装 Mono 以支持 ASP.NET

在Linux系统上架设ASP.NET网站项目已经在圈子中流行,而“Mono+Jexus”架构模式是Linux承载ASP.NET企业级应用的极为重要的架构方式。

这种架构中,Jexus很好安装、配置,基本上就是一个下载、解压、复制的过程,但是用源码安装Mono就麻烦一些,特别是才从Windows转向Linux平台的技术人员,因为对Linux极为陌生,mono安装常常是他们遇到的主要的拦路虎。

下面介绍一下在Linux上用源码安装Mono的方法,这里以debian为例子。

更新系统

apt-get update
apt-get upgrade -y

构建编译环境

如果你的系统是新安装的,那么你得构建一个编译环境,以便顺利完成对mono源文件的编译安装。

apt-get install build-essential -y
apt-get install automake autoconf -y
apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev -y

安装libgdiplus、mono以及编译环境所需要的其它库文件

apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libgpeg-dev libcairo2-dev -y

源文件下载与解压

1.进入官网下载(建议下载最新的)

https://download.mono-project.com/sources/libgdiplus/
https://download.mono-project.com/sources/mono/

2.解压

tar zvxf libgdiplus-xxx.tar.gz
tar jvxf mono-xxx.tar.bz2

安装 Libgdiplus 和 Mono

1.安装libgdiplus

cd libgdiplus-xxx
./configure --prefix=/opt/mono
make && make install
cd ..

2.安装Mono

cd mono-xxx
./configure --prefix=/opt/mono
make && make install
cd ..

3.配置环境变量

echo export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH >> ~/.profile
echo export PATH=/opt/mono/bin:$PATH >> ~/.profile
source ~/.profile
mono -V

通过以上的步骤,Mono就安装好了,可以通过观察mono版本的方式验证安装是否成功。

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • 在linux上,我们使用df命令只能看到磁盘的总体占用情况,无法看到具体的内容或目录占用情况,有些时候为了统计或者排查磁盘的具体占用时,我们需要细到每一个目录或文件,此时有一个命令可以帮到我们。 [root@localhost /]# du -h --max-depth=1 33M ./sbin 3...
  • 在离线的环境下安装支持包,就需要下载离线包进行手工安装,此时如何快速的安装呢? deb是debian linux类型的安装格式,跟red hat的rpm非常相似,最基本的安装命令是: dpkg -i xx.deb dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系...
  • 一般我们在更换DNS源或配置了HOSTS后,刷新DNS缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试,但是不同的系统如Windows、Mac OS和Linux上的方法是不一样的。 如果是 Win 系统:1.在附件中找到 cmd 或Win+R快捷键并输入cmd...
  • PureFTP是目前很多Linux平台流行的FTP服务端之一,最近配置服务器使用到了PureFTP,中间也出现了各种连接问题,总之就是无法正常传输数据,防火墙也开放了21端口,但最要命的是客户端使用被动模式怎么也连不上。 我们都知道,FTP有两种传输模式: 主动模式(PORT):服务器的20端口连接...
  • 如果碰巧你使用的是官方tar包,那么恭喜你,你make的时候可能会遇到如下错误,很多网友都会遇到的。 ../src/.libs/libeglib.a(libeglib_la-gunicode.o): In function `monoeg_g_get_charset':/root/mono/egli...
微信扫一扫即可带走我!