【移植說明】:
原平臺:Windows Server 2008 R2 Enterprise ;IIS
目標平臺:Centos6.5
移植對象:.Net服務
移植方式:在Centos6.5上安裝Mono和Jexus 以支持.Net服務
一.安裝Mono
1.安裝Mono源碼安裝需要的庫
yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel
fontconfig-devel cairo-devel
2.安裝Mono需要的GDI+兼容API的庫Libgdiplus
cd到你想下載源碼的位置,一般我們cd到/usr/local/src/下
cd /usr/local/src/
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
tar -jxvf libgdiplus-2.10.tar.bz2
cd libgdiplus-2.10
./configure --prefix=/usr
make
make install
3.安裝mono
cd /usr/local/src/
wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
tar -jxvf mono-2.10.8.tar.bz2
cd mono-2.10.8
./configure --prefix=/usr
make
make install
輸入 mono -V 如有mono版本信息,則安裝成功.
如果是64位版本的CentOS,在後續安裝好Jexus 5,啓動的時候會發生以下錯誤:
Sender: jws.exe, Sender TypeName: AppDomain
Exception Source: jws, TargetSite Name: A
Message is:
An exception was thrown by the type initializer for Mono.Unix.Native.Stdlib
StackTrace is:
at A.G.A (System.String[] A) [0x00000] in <filename unknown>:0
IsTerminating: True
建議你運行下命令ldconfig,建議大家在安裝mono後,都 ldconfig一下 。(ldconfig命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態鏈接庫(格式如前介紹,lib*.so*),進而創建出動態裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認爲/etc/ld.so.cache,此文件保存已排好序的動態鏈接庫名字列表. )
另外有一點也非常重要,要在編譯Mono的是指定安裝到/usr(./configure --prefix=/usr),如果安裝到一個系統根本"不瞭解"的文件夾,僅ldconfig都不行,還要在/etc/ld.so.conf文件或/etc/ld.so.conf.d 中添加路徑後再 ldconfig纔行呢。
ldconfig幾個需要注意的地方!
1. 往/lib和/usr/lib裏面加東西,是不用修改/etc/ld.so.conf的,但是完了之後要調一下ldconfig,不然這個library會找不到
2. 想往上面兩個目錄以外加東西的時候,一定要修改/etc/ld.so.conf,然後再調用ldconfig,不然也會找不到
比 如安裝了一個mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,這時就 需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存過後ldconfig一下,新的library才能在程 序運行時被找到。
3. 如果想在這兩個目錄以外放lib,但是又不想在/etc/ld.so.conf中加東西(或者是沒有權限加東西)。那也可以,就是export一個全局變 量LD_LIBRARY_PATH,然後運行程序的時候就會去這個目錄中找library。一般來講這只是一種臨時的解決方案,在沒有權限或臨時需要的時 候使用。
4. ldconfig做的這些東西都與運行程序時有關,跟編譯時一點關係都沒有。編譯的時候還是該加-L就得加,不要混淆了。
5. 總之,就是不管做了什麼關於library的變動後,最好都ldconfig一下,不然會出現一些意想不到的結果。不會花太多的時間,但是會省很多的事
二.安裝Jexus 5.0
1、下載:
下載地址是:http://www.linuxdot.net/down/jexus-5.0.1.tar.gz
wget http://www.linuxdot.net/down/jexus-5.0.1.tar.gz
2、解壓:
tar -zxvf jexus-5.0.tar.gz
3、安裝:
Jexus安裝非常簡單,僅僅就是一個複製、粘帖和註冊全局程序集的過程
注意:以下所有操作請用root身份。
1) 建立jexus安裝文件夾(一般爲/etc/jws/),我安裝到/usr/jexus/ :
sudo mkdir /usr/jexus/
2) 把解壓所得到的文件及文件夾全部複製或移動到 /etc/jws 這個文件夾中
如: sudo mv * /usr/jexus/
3) 將 jws.regsvr、jws.start、jws.restart、jws.stop 設爲可執行
4) 註冊全局程序集(*非常重要*)
進入安裝jexus目標文件夾(cd /usr/jexus/),然後運行:
sudo ./jws.regsvr
三、運行測試
複製完Jexus的文件後,Jexus就可以正常工作了。
所以,如果你的系統只要mono已經成功安裝,jexus就可以直接使用,甚至連進一步的配置也完全不需要。
如果是升級安裝,你只需要用jws.start啓動JWS,Jexus就可以正常工作了,如果不能正常工作,常常是新版本的配置方式可能有變,你可以查查jws.conf等配置文件。
強調:如果你服務器安裝有其它的WEB服務器,而且該服務正在運行,請停止它,以免造成端口衝突而造成Jexus無法啓動。
如果是全新安裝,請首先建立一個默認的網站文件夾:/var/www/default
然後在Jexus工作文件夾(/usr/jexus/)中執行jws.start命令(需要root身份),啓動jexus。
詳細Jexus的配置可以看Jexus中的readme.txt文件
測試方法:
1.在jexus-5.0.1/siteconf 中放的是網站的配置文件 以文件名標示一個網站,文件名不能有空格,默認會有一個default
4.重啓Jexus jws.restart 方法
5.訪問:ip:8082/myTest.aspx,成功!
參考文章:http://www.cnblogs.com/shanyou/archive/2012/01/07/2315982.html