[摘要]Mono是一个由Novell公司(由Ximian发起,并由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。本文介绍在CentOS Linux上搭建 Nginx+Mono 运行 ASP.NET。
一、获取开源相关程序1、利用CentOS Linux系统自带的yum命令安装、升级所需的程序库:
sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel bison pkgconfig glib2-devel gettext make2、下载程序源码包
Nginx安装包:下载地址:http://nginx.org/en/download.html
mkdir -p /down cd /down wget http://nginx.org/download/nginx-1.1.11.tar.gzMono下载:官网:http://download.mono-project.com/sources/mono/(请下载最新版)
wget http://download.mono-project.com/sources/mono/mono-2.10.7.tar.bz2libgdiplus下载:http://download.mono-project.com/sources/libgdiplus/(请下载最新版)
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2xsp下载:http://download.mono-project.com/sources/xsp/(请下载最新版)
wget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2pcre下载(Nginx所需的pcre库):FTP://ftp.csx.cam.ac.uk/pub/software/programming/pcre/(请下最新版)
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz二、安装编译Nginx
1、安装安装Nginx所需的pcre库
cd /down tar zxvf pcre-8.21.tar.gz cd pcre-8.21/ ./configure make && make install cd ../2、创建www用户和组
/usr/sbin/groupadd www /usr/sbin/useradd -g www www mkdir -p /data0/web chmod +w /data0/web chown -R www:www /data0/web3、安装Nginx
tar zxvf nginx-1.1.11.tar.gz cd nginx-1.1.11/ ./configure --user=www --group=www --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module make && make install cd ../4、开放80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT启动nginx
/opt/nginx/sbin/nginx在浏览器上输入访问地址 http://192.168.1.1(根据个人本机地址页定),正常会看到默认nginx页面
三、安装编译Mono
1、安装libgdiplus
cd /down tar -jxvf libgdiplus-2.10.tar.bz2 cd libgdiplus-2.10 ./configure --prefix=/opt/mono make && make install echo "/opt/mono/lib" > /etc/ld.so.conf.d/mono.conf ldconfig2、安装Mono
tar –jxvf mono-2.10.7.tar.bz2 cd mono-2.10.7 ./configure --prefix=/opt/mono make && make install //此处时间较长
echo export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile echo export LD_LIBRARY_PATH=/opt/mono/lib:$LD_LIBRARY_PATH>>~/.bash_profile echo export PATH=/opt/mono/bin:$PATH>>~/.bash_profile source ~/.bash_profile输入 mono -V 如有mono版本信息,则安装成功.
3、安装XSP
cd /down tar –jxvf xsp-2.10.2.tar.bz2 ./configure --prefix=/opt/mono make && make install四、配置Nginx
vi /opt/nginx/conf/nginx.conf server { listen 80; server_name localhost; location / { root /data0/web; index index.html index.htm; fastcgi_index Default.aspx; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; } }五、配置fastcgi_params增加下面两行
vi /opt/nginx/conf/fastcgi_params fastcgi_param PATH_INFO ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;六、启动
1、重启nginx
/opt/nginx/sbin/nginx -s reload2、启动 fastcgi_mono服务器
fastcgi-mono-server2 /applications=/:/data0/web /socket=tcp:127.0.0.1:9000 &七、测试
新建一个asp.net Web项目上传至 /data0/web目录下,测试运行.
-----------------------
Wine接管微软的 Mono 项目
Mono 项目官网宣布,接管微软的 Mono 项目。Mono 是 Xamarin 联合创始人 Miguel de Icaza 发起的跨平台 .NET 框架开源实现,自 2001 年启动以来一直是 .NET 生态系统的重要组成部分。Microsoft 在 2016 年收购 Xamarin 时成为 Mono 项目的管理者。
Mono 项目的最后一个主要版本是在 2019 年 7 月,从那时起又发布了一些次要的补丁版本。上一个补丁版本是 2024 年 2 月。WineHQ 组织接管 wine-mono / Mono ·GitLab (winehq.org).现有 mono/mono 和其他存储库中的源代码将保持可用,但存储库可能已存档。二进制文件将保持可用状态长达四年。Microsoft 在 dotnet/runtime 存储库中维护了 Mono 运行时的新式分支,并已逐步将工作负载移动到该分支。这项工作现已完成,微软建议基于 Mono 的应用程序框架的活跃 Mono 用户和维护者迁移到 .NET,其中包括此分支中的工作。
官网:https://www.mono-project.com/