在Linux下部署.NET网站
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于Linux/Unix 等有更强的安全性、运行效率高、拥有大量优秀的开源组件,而.Net 则有着其他语言无与伦比的开发效率,因此在非微软平台下运行.Net 程序的需求很强烈。
Mono 是一个由Novell 公司发起、并且得到微软支持的开源项目。
Mono 项目可以在Linux ,FreeBSD ,Unix ,Mac OS X 、Android 和苹果系统等非微软操作系统下兼容运行.Net 程序。
目前占IOS 游戏应用市场55%份额的游戏都是使用基于Mono 的Unity3d 技术开发的。
安装前安装相关的软件包:
1 yum install "Development Tools"
2 yum install gcc bison pkgconfig glib-devel glib2-devel libpng-devel libX11-devel freetype fontconfig pango-devel ruby ruby-rdoc gtkhtml38-devel
1、Mono 的安装
mono-3.12.1.tar.bz2
/sources/mono/
1 [root@monitor src]# tar jxvf mono-3.12.1.tar.bz2
2 [root@monitor mono-3.12.1]# cd mono-3.12.1
3 [root@monitor mono-3.12.1]# ./configure --prefix=/usr/local/mono
4 [root@monitor mono-3.12.1]# make
5 [root@monitor mono-3.12.1]# make install
添加环境变量
1 [root@monitor mono-3.12.1]# echo export
PKG_CONFIG_PATH=/usr/local/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
2 [root@monitor mono-3.12.1]# echo export
LD_LIBRARY_PATH=/usr/local/mono/lib/:$LD_LIBRARY_PATH>>~/.bash_prof ile
3 [root@monitor mono-3.12.1]# echo export PATH=/usr/local/mono/bin:$PATH>>~/.bash_profile
4 [root@monitor mono-3.12.1]# source ~/.bash_profile
mono 安装完成测试
1 [root@monitor mono-3.12.1]# /usr/local/mono/bin/mono-test-install
2 Active Mono: /usr/local/mono/bin/mono
3 Other Mono executables: /usr/local/mono/bin/mono
/usr/local/mono/bin/mono /usr/local/mono/bin/mono
/usr/local/mono/bin/mono
4
5 Your system has a broken System.Drawing setup
6 Your file system watcher is: System.IO.InotifyWatcher 2、安装xsp
xsp-2.10.tar.bz2
/sources/xsp
1 [root@monitor src]# tar jxvf xsp-2.10.tar.bz2
2 [root@monitor src]# cd xsp-2.10
3 [root@monitor xsp-2.10]#./configure --prefix=/usr/local/mono
4 [root@monitor xsp-2.10]# make
5 [root@monitor xsp-2.10]# make install 3、配置Nginx 与 集成
修改nginx 的配置文件nginx.conf
01 [root@monitor conf]# vim nginx.conf
02 server
03 {
04 listen 192.168.1.254:8080;
05 server_name 192.168.1.254:8080;
06 index index.html index.htm index.php index.aspx;
07 root /wwwroot/aspnet;
08
09 location ~ \.(aspx|asmx|ashx|asax|soap|rem|axd|cs|config|dll)?$ { 10 fastcgi_pass 127.0.0.1:9001;
11 fastcgi_param PATH_INFO "";
12 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 13 include fastcgi_params;
14 }
15 location ~ .*\.(gif|jpg|jpeg|gng|bmp|swf)$
16 {
17 expires 30d;
18 }
19 location ~ .*\.(js|css)?$
20 {
21 expires 1h;
22 }
23 access_log off;
24 }
25 }
启动xsp web 服务器
1 [root@monitor mono]# fastcgi-mono-server
2 /applications=/:/wwwroot/aspnet/ /socket=tcp:127.0.0.1:9001 & 2 [root@monitor ~]# netstat -tunlp |grep 9001
3 tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 18630/mono xsp 服务器已经正常启动了,上传一个 的探针来测试下
/s/1mgqZlRa
原文来源于运维人笔记。