下載編譯環(huán)境:
yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel gcc-c++ libstdc++-devel
下載并解壓源代碼:
wget
wget
wget
tar -jxvf mono-2.6.3.tar.bz2
tar -jxvf xsp-2.6.3.tar.bz2
tar -jxvf mod_mono-2.6.3.tar.bz2
安裝mono環(huán)境:
cd /root/mydir/mono-2.6.3
./configure --prefix=/opt/mono; make ; make install
echo export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
echo export PATH=/opt/mono/bin:$PATH>>~/.bash_profile
source ~/.bash_profile
安裝xsp:
cd /root/mydir/xsp-2.6.3
./configure --prefix=/opt/mono; make ; make install
安裝mod_mono:
先用find / -iname apr*config命令查找出“--with-apr-config=/usr/bin/apr-1-config”(不知道--with-apr-config=/usr/bin/apr-1-config有什么用,好像不要也可以,麻煩知道的告訴一下小弟)
再執(zhí)行下面的命令:
cd /root/mydir/mod_mono-2.6.3
./configure --prefix=/opt/mono --with-mono-prefix=/opt/mono --with-apr-config=/usr/bin/apr-1-config; make ; make install
cp /etc/httpd/conf.d/ /etc/httpd/conf/mod_mono.conf
selinux阻止了httpd對mod-mono-server的訪問,所以執(zhí)行下面的語句:
setsebool -P httpd_disable_trans=1
重啟httpd服務(wù)器:
service httpd restart
在防火墻中開啟80端口,允許同一個Lan的其他機(jī)器訪問:
方法1.在不使用圖形界面工具的時候,通過關(guān)閉防火墻來實現(xiàn)允許開放80端口
service iptables stop
(PS:我嘗試過下面的方法,
vi /etc/sysconfig/iptables
添加:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart
雖然在iptables -L中看到http
但無法從其他機(jī)器訪問該服務(wù)器。
如果有誰成功,請告知小弟):
方法2.在安裝有圖形界面工具的情況下,用startx進(jìn)入圖形界面,用“Security Level and Firewall”開啟80端口。
安裝libgdiplus(xsp的測試頁面中,有很多都需要libgdiplus):
yum install httpd build-essential gcc bzip bison pkgconfig glib-devel /
glib2-devel httpd-devel libpng-devel libX11-devel freetype fontconfig /
pango-devel ruby ruby-rdoc gtkhtml38-devel wget
wget
tar -jxvf libgdiplus-2.6.2.tar.bz2
cd /root/mydir/libgdiplus-2.6.2
./configure
make ; make install
echo export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH >>~/.bash_profile
source ~/.bash_profile
vi /opt/mono/etc/mono/config
添加節(jié)點:<dllmap dll="gdiplus.dll" target="/usr/lib/libgdiplus.so.0" />
否則會出現(xiàn)DllNotFoundException的異常。
測試:
一、測試mono
a.運行mono -V輸出:
Mono JIT compiler version 2.6.3 (tarball Fri Apr 2 06:13:46 CST 2010)
Copyright (C) 2002-2010 Novell, Inc and Contributors.
TLS: __thread
GC: Included Boehm (with typed GC and Parallel Mark)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
b.運行mono-test-install輸出:
Active Mono: /opt/mono/bin/mono
Your have a working System.Drawing setup
Your file system watcher is: System.IO.InotifyWatcher
二、測試Asp.Net服務(wù)器
a.測試是否能夠執(zhí)行aspx:
在/var/www/html/目錄下建一個test.aspx頁面,內(nèi)容為
<%="Hello World!"%>
通過wget 來下載該頁面的內(nèi)容。
b.測試同一個Lan下其他機(jī)器能否訪問:
用其他機(jī)器的瀏覽器打開
c.跑xsp自帶的測試程序(多點幾個頁面,查看是否會出現(xiàn)gdiplus.dll DllNotFoundException的一場):
1.修改Apache的配置,開放防火墻8080端口
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerAdmin hlfstephen@gmail.com
DocumentRoot /var/www/test/
ServerName local.mydomain.com
ErrorLog logs/local.mydomain.com-error_log
CustomLog logs/local.mydomain.com common
</VirtualHost>
2.復(fù)制/opt/mono/lib/xsp/test目錄到var/www/下
3.service httpd restart
4.用瀏覽器打開:8080/
參考:
?q=content/mono-2x-centos-5
轉(zhuǎn)載請保留鏈接: CentOS 5.1下跑Mono和Asp.net的實現(xiàn)方法
新聞熱點
疑難解答
圖片精選