在CentOS6.5上使用Jexus安装部署ASP.NET MVC4和WebApi
Jexus即JexusWebServer,简称JWS,是Linux平台上的一款ASP.NETWEB服务器,是Linux、Unix、FreeBSD等非Windows系统架设ASP.NETWEB服务器的核心程序,是企业级ASP.NET跨平台部署的一种可选方案。与其它WEB服务器相比,Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。
一、使用Jexus5.8.1独立版
网址http://www.linuxdot.net/ps:该“独立版”支持64位的CentOS6.5、Ubuntu12.04以上版本的操作系统,能运行WebForm、Mvc3-5、WebService以及WebApi,支持PHP,支持OWIN,支持反向代理,也就是说,无需安装mono的“独立版”与需要安装mono的“通用版”在功能上是完全相同的。
下载cd/tmpwgethttp://www.linuxdot.net/down/jexus-5.8.1-x64.tar.gz
解压tar-zxvfjexus-5.8.1-x64.tar.gz
移动mvjexus/usr/local
测试在/var/www/default/用vim新建一个简单index.apsx<%@PageLanguage="c#"%><%=DateTime.Now.ToString()%>
二、Jexsus常用命令
启动./jwsstart
重启./jwsrestart
停止`./jwsstop`
启动某个网站start网站名
重启某个网站restart网站名
关闭某个网站stop网站名
三、使用vs2013新建一个基本mvc4项目
修改引用Microsoft.Web.Infrastructure复制本地设为False
新建HomeController和View/Home/Index.chstml(重要,不新建是没有默认页面异常:System.Web.HttpException)
新建ApiTestController(可选)
修改配置文件(重要)
<?xmlversion="1.0"encoding="utf-8"?> <!-- 有关如何配置ASP.NET应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <addkey="webpages:Version"value="2.0.0.0"/> <addkey="webpages:Enabled"value="false"/> <addkey="PreserveLoginUrl"value="true"/> <addkey="ClientValidationEnabled"value="true"/> <addkey="UnobtrusiveJavaScriptEnabled"value="true"/> </appSettings> <runtime> <assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentityname="System.Web.Helpers"publicKeyToken="31bf3856ad364e35"/> <bindingRedirectoldVersion="1.0.0.0-2.0.0.0"newVersion="2.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentityname="System.Web.Mvc"publicKeyToken="31bf3856ad364e35"/> <bindingRedirectoldVersion="1.0.0.0-4.0.0.0"newVersion="4.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentityname="System.Web.WebPages"publicKeyToken="31bf3856ad364e35"/> <bindingRedirectoldVersion="1.0.0.0-2.0.0.0"newVersion="2.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentityname="WebGrease"publicKeyToken="31bf3856ad364e35"/> <bindingRedirectoldVersion="1.0.0.0-1.3.0.0"newVersion="1.3.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentityname="System.Net.Http"publicKeyToken="b03f5f7f11d50a3a"/> <bindingRedirectoldVersion="0.0.0.0-4.0.0.0"newVersion="4.0.0.0"/> </dependentAssembly> </assemblyBinding> </runtime> <system.web> <customErrorsmode="Off"/> <pages> <namespaces> <addnamespace="System.Web.Helpers"/> <addnamespace="System.Web.Mvc"/> <addnamespace="System.Web.Mvc.Ajax"/> <addnamespace="System.Web.Mvc.Html"/> <addnamespace="System.Web.Routing"/> <addnamespace="System.Web.WebPages"/> </namespaces> </pages> </system.web> <system.webServer> <validationvalidateIntegratedModeConfiguration="false"/> <handlers> <removename="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/> <removename="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/> <removename="ExtensionlessUrlHandler-Integrated-4.0"/> <addname="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"/> <addname="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"/> <addname="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>