设为首页 收藏本站
查看: 1589|回复: 0

[经验分享] Mono+Jexus让C#运行在Linux(centos7_x64),学习笔记

[复制链接]

尚未签到

发表于 2017-6-23 11:01:49 | 显示全部楼层 |阅读模式
本篇目录


  •   前言

  •   环境准备

  •   Linux下环境准备

    •   系统更新

    •   安装Mono源码安装需要的库

    •   安装Mono需要的GDI+兼容API的库Libgdiplus

    •   安装 mono

    •   Jexus安装





  •   部署ASP.NET MVC项目

    •   Jexus配置

    •   VS2013创建MVC项目打包发布



  •   总结


前言
  感谢:
  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.iyunv.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
DSC0000.png


安装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查看版本信息。
DSC0001.png


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
DSC0002.png


  启动成功后通过http://localhost/info访问到如下页面。
DSC0003.png

  至此环境准备工作完成。

部署ASP.NET MVC项目

Jexus配置
  cd /usr/jexus/siteconf/
  cp default simple
  赋值默认配置修改port、root。
DSC0004.png

  配置修改完成后到/var目录下创建www文件夹。
  cd /var
  mkdir www

VS2013创建MVC项目打包发布
  使用SecureFX将打包文件夹simple上传至/var/www/simple目录。
DSC0005.png

  将jexus停止后重新启动
  /usr/jexus/jws stop


  /usr/jexus/jws start
  启动成功后通过http://localhost/info访问出现如下错误信息。
DSC0006.png

  将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。
DSC0007.png

  cd /usr/jexus/
  vi jws
  取消# export MONO_IOMAP="all"这段内容的前面的#,保存,然后重新启动jexus。
DSC0008.png

  重启jws后,重新访问结果。
DSC0009.png


总结
  没写完。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387254-1-1.html 上篇帖子: centos下使用fdisk扩展分区容量大小 下篇帖子: docker命令和后台参数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表