本篇目錄
前言
感謝:
http://www.jexus.org/
http://www.cnblogs.com/shanyou/archive/2012/01/07/2315982.html
http://www.cnblogs.com/hanyinglong/p/5456757.html
http://www.jb51.net/article/83550.htm
http://www.cnblogs.com/hanyinglong/p/5456757.html
http://bbs.csdn.net/topics/390944302
環境准備
虛擬機:VMware-workstation-full-11.0.0-2305329_0;
Linux系統:CentOS-7-x86_64-DVD-1511.iso;
Visual Studio 2013:創建默認ASP.NET MVC 4 Web 應用程序;
Linux連接工具:SecureCRT;
Linux下環境准備
更新系統
可以跳過,有四百多條更新。
yum –y update
安裝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

安裝Mono需要的GDI+兼容API的庫Libgdiplus
cd /usr/local/src/
libgdiplus下載地址,當前最新版本libgdiplus-4.2.tar.gz | 2015-12-20 17:33 | 671K
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-4.2.tar.gz
tar -zxvf libgdiplus-4.2.tar.gz
cd libgdiplus-4.2
./configure --prefix=/usr
make && make install
安裝 mono
cd /usr/local/src/
mono下載地址,當前最新版本mono-4.6.2.6.tar.bz2 | 2016-11-02 14:22 | 79M
wget http://download.mono-project.com/sources/mono/mono-4.6.2.6.tar.bz2
tar -jxvf mono-4.6.2.6.tar.bz2
cd mono-4.6.2
./configure --prefix=/usr
make這步的時間稍微比較久點。
make && make install
安裝完后使用mono -V查看版本信息。

Jexus安裝
cd /usr/local/src/
Jexus下載地址,當前最新版本jexus-5.8.1.tar.gz
wget http://www.linuxdot.net/down/jexus-5.8.1.tar.gz
tar -zxvf jexus-5.8.1.tar.gz
cd jexus-5.8.1
./install
啟動命令。
/usr/jexus/jws start

啟動成功后通過http://localhost/info訪問到如下頁面。

至此環境准備工作完成。
部署ASP.NET MVC項目
Jexus配置
cd /usr/jexus/siteconf/
cp default simple
賦值默認配置修改port、root。

配置修改完成后到/var目錄下創建www文件夾。
cd /var
mkdir www
VS2013創建MVC項目打包發布
使用SecureFX將打包文件夾simple上傳至/var/www/simple目錄。

將jexus停止后重新啟動
/usr/jexus/jws stop
/usr/jexus/jws start
啟動成功后通過http://localhost/info訪問出現如下錯誤信息。

將Web.config文件內容替換成如下信息重新上傳。
<?xml version="1.0" encoding="utf-8"?> <!-- 有關如何配置 ASP.NET 應用程序的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="webpages:Version" value="2.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="PreserveLoginUrl" value="true" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> <system.web> <customErrors mode="Off"/> <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" /> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers></system.webServer> </configuration>
/usr/jexus/jws restart
log4net引用到項目中。
重新啟動后刷新能訪問顯示如下,但是樣式信息未應用。這是因為Linux下是區分大小寫的,需要配置jexus。

cd /usr/jexus/
vi jws
取消# export MONO_IOMAP="all"這段內容的前面的#,保存,然后重新啟動jexus。

重啟jws后,重新訪問結果。

總結
沒寫完。
