Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web伺服器

來源:互聯網
上載者:User

  最近在Ubuntu上搭建了Asp.Net的Web伺服器,其中遇到很多問題,整理一下思路,以備後用。

搭建環境以及配套軟體

  Ubuntu: 11.10
  Mono:3.0.6 (http://download.mono-project.com/sources/mono/mono-3.0.6.tar.bz2) 出於穩定性的考慮,建議不要使用比這個版本更高的其他版本。
  Jexus:5.0 (http://www.linuxdot.net/down/jexus-5.0.1.tar.gz)

 

安裝Mono

  

cd /downloadswget http://download.mono-project.com/sources/mono/mono-3.0.6.tar.bz2
tar -jxvf mono-3.0.6.tar.bz2
cd mono-3.0.6
./configure --prefix=/usr/local
make
make install

  第一步:是進到下載檔案的目標檔案夾,可以根據自己的習慣選擇,這裡使用系統的downloads檔案夾。
  第二步:是使用下載命令下載mono源碼,在http://download.mono-project.com/sources/mono/這個目錄下有很多版本的mono源碼,也可以根據自己的需要下載不同版本的源碼進行安裝。
  第三步:在目標檔案夾中解壓改檔案,不同格式的解壓參數不同,tar.bz2格式的檔案解壓參數為 -jxvf.
  第四步:檔案解壓成功後,進到改目錄。
  第五步:configure是mono的一個安裝設定檔,這裡我們主要配置安裝路徑。在接下來安裝的jexus中,需要配置mono的安裝路徑,而jexus預設的安裝路徑是 /usr/local/mono,所以建議設定為 /usr/local.
  第五步:編譯。
  第六步:安裝。

  特別說明:如果系統安裝了其他版本的Mono,需要先卸載改版本的Mono,卸載方法是進入到安裝目錄,然後使用uninstall命令進行卸載。同時可以通過mono -V(注意大小寫)查看mono的版本號碼。

#卸載cd /usr/local/monomake uninstall#查看版本號碼mono -V
安裝Jexus
#進到下載目錄cd /usr/loacal#下載檔案wget http://www.linuxdot.net/down/jexus-5.0.1.tar.gz#解壓檔案tar -zxvf jexus-5.0.tar.gz#進入jexus檔案夾cd jexus#提權(涉及到jexus的操作都需要使用root許可權)sudo su#註冊./jws.regsvr

  Jexus是一個解壓即可使用的程式,所以我們可以在下載的時候選擇安裝路徑,當然也可以下載到專用的下載目錄,解壓後在mv到需要安裝的目錄。
  涉及到jexus的操作有註冊服務(regsvr),啟動服務(start),停止服務(stop)以及重啟(restart),所有這些操作都需要root許可權。
  註冊服務以後,jexus產生一個預設的網站,使用以下地址檢測服務是否啟動(http://120.0.0.1/info)

  

  jexus的網站設定檔在安裝目錄下的 siteconf 檔案夾下面,每一個網站對應一個目錄檔案。系統有一個預設的 default 配置,在這個檔案當中我們可以找到並修改網站的根目錄、起始地址等配置資訊。default 預設的網站根目錄在 /var/www/default (注意:jexus不會自動建立default目錄,需要手動建立。)

上傳MVC網站檔案

  上傳網站檔案需要開啟ftp服務,這裡使用 vsftpd ,詳細的使用教程這裡不做講解。
  相比普通的webform網站來講,MVC的網站配置相對較難。主要涉及到一些MVC類庫的收集,之所以使用mono 3.0.6以上的版本也是因為較早的版本需要手動添加更多的dll檔案,這裡我整理了mvc3需要調用到的一些庫檔案。以下是庫檔案清單:

System.Web.Helpers.dll 1.0System.Web.Mvc.dll 3.0System.Web.Razor.dll 1.0System.Web.WebPages.dll 2.0System.Web.WebPages.Razor.dll 1.0

   把這些檔案放在網站的 bin 目錄下,一起上傳到網站根目錄即可。這裡需要注意的一個問題是,MVC3需要System.Web.WebPages.dll2.0以上的版本,而在window下這個dll都是1.0的版本,如果直接從window下拷貝將會發生依賴錯誤。

  接下來的一個重要的步驟就是修改網站設定檔 web.config 。

 

<?xml version="1.0"?><!--  For more information on how to configure your ASP.NET application, please visithttp://go.microsoft.com/fwlink/?LinkId=152368  --><configuration>  <appSettings>    <add key="ClientValidationEnabled" value="true"/>     <add key="UnobtrusiveJavaScriptEnabled" value="true"/>   </appSettings>      <system.web>    <compilation debug="true" targetFramework="4.0">      <assemblies>        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />      </assemblies>    </compilation>    <globalization cultrue="zh-CN" uiCultrue="en-US"/>    <authentication mode="Forms">      <forms loginUrl="~/Account/LogOn" timeout="2880" />    </authentication>    <pages>      <namespaces>        <add namespace="System.Web.Helpers" />        <add namespace="System.Web.Mvc" />        <add namespace="System.Web.Mvc.Ajax" />        <add namespace="System.Web.Mvc.Html" />        <add namespace="System.Web.Routing" />        <add namespace="System.Web.WebPages"/>      </namespaces>    </pages>  </system.web>      <system.webServer>    <validation validateIntegratedModeConfiguration="false"/>    <modules runAllManagedModulesForAllRequests="true"/>  </system.webServer>  <runtime>    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">      <dependentAssembly>        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />      </dependentAssembly>    </assemblyBinding>  </runtime></configuration>

 

   這裡有兩個細節要注意 第一個是程式集配置節中的 System.Web.WebPages.dll 的版本號碼,原網站可能是1.0版本的,這裡需要改為2.0.
  此外需要添加 <globalization cultrue="zh-CN" uiCultrue="en-US"/>  配置節。

下載工具包

  點擊下載mvc3工具包。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.