Centos5.5安裝MONO2.10.8和Jexus 5.0開啟Linux平台.net應用新篇章


注:本文只做本人記錄使用,也可供大家參考,有興趣的可以一起討論。

安裝步驟

1、 yum –y update
2、安裝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
3、 安裝Mono需要的GDI+兼容API的庫Libgdiplus
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

(config這里報錯“configure: error: no acceptable C compiler found in $PATH ”,解決安裝gcc)

(安裝gcc之后繼續運行configure,接着報錯“configure: error: *** libpng12 not found. See http://www.libpng.org/pub/png/libpng.html”,原因分析: 說明缺少libtiff、libjpeg、libgif、libpng等庫,安裝這些庫: yum install libtiff libtiff-devel libjpeg libjpeg-devel giflib giflib-devel libpng libpng-devel libX11 libX11-devel freetype freetype-devel fontconfig fontconfig-devel libexif libexif-devel

 

make

make install

4、安裝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

(config這里報錯“configure: error: You need to install g++”,原因分析:沒有安裝g++,解決方案:yum install gcc-c++

config這里報錯“configure: error: You need to install bison”,原因分析:沒有安裝bison,解決方案:yum install bison

make

make install

5、安裝Jexus 5.0

cd /usr/local/src/

wget http://www.linuxdot.net/down/jexus-5.0.2.tar.gz

tar -zxvf jexus-5.0.2.tar.gz

 

全新安裝: 
   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 設為可執行  chmod +x jws.start 
   4) 注冊全局程序集(*非常重要*) 
      進入安裝jexus目標文件夾(cd /usr/jexus/),然后運行: 
      sudo ./jws.regsvr

 

 

 

6、運行測試 
    復制完Jexus的文件后,Jexus就可以正常工作了。 
    所以,如果你的系統只要mono已經成功安裝,jexus就可以直接使用,甚至連進一步的配置也完全不需要。

    如果是升級安裝,你只需要用jws.start啟動JWS,Jexus就可以正常工作了,如果不能正常工作,常常是新版本的配置方式可能有變,你可以查查jws.conf等配置文件。

    強調:如果你服務器安裝有其它的WEB服務器,而且該服務正在運行,請停止它,以免造成端口沖突而造成Jexus無法啟動。

    如果是全新安裝,請首先建立一個默認的網站文件夾:/var/www/default (mkdir /var/www/default)

    然后在Jexus工作文件夾(/usr/jexus/)中執行jws.start命令(需要root身份),啟動(./jexus.start)。 
    1、用cat log/jws.log,看看jws日志文件有沒有什么出錯的提示。 
    2、如果沒有錯誤提示,請訪問一下這台服務器,看看是否有jexus的歡迎頁,比如訪問 http://服務器IP地址/info:

 

設置jexus在開機后自動運行

引用
vi /etc/rc.local
在最后一行加入
/usr/local/jexus/jws.start

 

 

jexus使用配置:

 

現在在/etc/jws里有兩個配置文件了,第一個是jws目錄下的jws.conf,另一個是/jws/siteconf/里的默認的default文件,jws.conf命名固定了,指向網站配置文件和網站日志文件路徑,一般默認指定為網站配置文件在siteconf里,它自動從該目錄下的所有文件讀取配置信息,比如我現在又兩個文件,第一個默認的default,第二個是我新建的mysite,default文件內容如下:

#for default

port=80

root=/ /var/www/default

hosts=*

.....下面的都是#開始的注釋信息,可以選的配置信息。

mysite里的內容如下:

port=81

root=/ /var/www/mysite

hosts=*

....下面的都是#開始的注釋信息,可以選的配置信息。

表示不同端口,映射到不同目錄,注意root=/ /var/www....,兩個//中間有個空格“/ /var.....”,第一個/表明該端口的絕對目錄,空格后面為用戶輸入/絕對目錄時,映射到這個文件目錄位置。

最后測試性的輸入mono /etc/jws/jws.exe,把jws進程開啟,可以ctrl+c停止服務。開啟服務后,把自己的網站程序放到/var/www/對應目錄下,比如default文件夾下,mysite文件夾下,就可以訪問了。

 

Jexus MVC3配置

 

1,安裝mono V2.10.2;

2,安裝jexus V4.2.4

3,修改 jws.conf,添加一句 : runtime=v4.0.30319

4,修改siteconf文件夾中對應網站配置,加一句:rewrite=^/$ /Home/Index

 

 

Mono中配置asp.net mvc環境

1.源碼安裝Mono2.10.2版以上

2.在C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies和C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies目錄分別找到以下dll復制到網站bin目錄中

System.Web.Mvc.dll
System.Web.Razor.dll
System.Web.WebPages.dll
System.Web.WebPages.Deployment.dll
System.Web.WebPages.Razor.dll 

3.在Mono安裝目錄 /opt/mono/lib/mono/4.0復制以下3個文件到網站bin目錄

Microsoft.Web.Infrastructure.dll
System.Web.Extensions.dll 

4.可能會遇到的問題的解決辦法:

Error: Storage scopes cannot be created when _AppStart is executing.

Cause: Microsoft.Web.Infrastructure.dll was localcopied to the bin directory.

Resolution: Delete Microsoft.Web.Infrastructure.dll and use the mono version.

Error: Invalid IL code in System.Web.Handlers.ScriptModule:.ctor (): method body is empty.

Cause: System.Web.Extensions.dll somehow gets localcopied to the bin directory.

Resolution: Delete System.Web.Extensions.dll and use the mono version.

Error: The classes in the module cannot be loaded. Description: HTTP 500. Error processing request.

Cause: System.Web.WebPages.Administration.dll was localcopied to the bin directory.

Resolution: Delete System.Web.WebPages.Administration.dll and unreference it

Error: Could not load type

‘System.Web.WebPages.Razor.RazorBuildProvider’ from assembly ‘System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′. Description: HTTP 500. Error processing request.

Cause: System.Web.Razor.dll is corrupt or missing (or x64 instead of x32 or vice-versa) …

Resolution: Get an uncorrupted version of System.Web.Razor.dll and localcopy to the bin directory

遺憾的是對實體框架支持有限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM