mono在国内的应用已经越来越多了。现在因为商业版权问题,很多公司都不敢将其用于生产环境上,但这无法挡住mono的魅力。.net的程序猿们,如果你还不知道mono那就太可惜了。
“Mono+Jexus”架构模式是Linux承载ASP.NET企业级应用的极为重要的架构方式。这种架构中,Jexus很好安装、配置,基本上就是一个下载、解压、复制的过程,但mono安装会麻烦点。这篇文章将记录下在Ubuntu操作系统下,使用Mono源码安装。后续安装jexus,并使用一个测试页面来验证jexus安装是否成功。
jexus与mono的结合将在下一篇进行介绍。
一、选择操作系统
因为整个过程运行于虚拟机,并且基于Linux发行版本选用问题,建议大家使用Ubuntu server版,我使用的版本是ubuntu server 12.04.2:
ansen@ansen:~$ cat /etc/issue
Ubuntu 12.04.2 LTS \n \l
如果你想升级ubuntu系统,可以运行以下两个命令:
sudo apt-get update
sudo apt-get upgrade
因为 ubuntu server在安装时,一般都会比较“干净”,所以我们还需要编译环境,这些编译环境,是顺利完成mono源码安装的必要条件:
sudo apt-get install build-essential
sudo apt-get install automake autoconf
sudo apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev
除了安装好这些编译环境外,在安装mono前,需要先安装Libgdiplus,而安装Libgdiplus前,又需要先安装以下的编译环境及库文件:
sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg62-dev
在运行上面的命令后,报了错:
ansen@ansen:~$ sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg62-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libtiff4-dev : Depends: libjpeg-dev
E: Unable to correct problems, you have held broken packages.
错误信息也显示出来了,是因为libtiff4-dev需要依赖于libjpeg-dev而不是libjpeg62-dev,所以需要把命令最后一个参数改成libjpeg-dev:
sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg-dev
这样就运行成功了。