ASP.“.NET研究”NET MVC3 on Mono的折腾(二):Linux(openSUSE)下的部署

ASP.“.NET研究”NET MVC3 on Mono的折腾(二):Linux(openSUSE)下的部署

  续上篇介绍Mono在Window下的部署,对于我而言,相比于Windows平台下的部署,Linux平台下的部署挑战性会更大一点。从来没有Linux使用经验的我,要在Linux下部署Mono,遇到的不仅仅是Mono部署的问题,还有各种Linux操作的问题。我是使用的从Mono官方下载的安全配置好的虚拟机,安装方面的问题就可以暂时先跳过去,不过这里还是要先总结一下,先熟悉一下的几个常用的openSUSE操作。

  1)配置网卡,进行文件管理都需要超级用户(su)密码,官方下载的虚拟机,su密码是:mono。刚开始不知道,还是小小的折腾了一会儿。其实,访问http://localhost 的默认首页就有这个用户密码的说明了。

  2)apache的配置路径是在:/etc/apache2/。站点的默认目录是在:/srv/www/htdocs/,你会频繁在这两个目录做切换。

  3)要修改配置你需要用超级用户的权限打开文件管理器,这个也是让我花了一些时间去查找。解决方案是创建一个命令行的快捷方式就可以了,看这个贴子

  4)重启apache的命令行:/etc/init.d/apache2 restart

  5)如果需要,最好去扫盲一下什么是,YaST,什么是安装源。Linux下,动不动就要下源码编译安装,吓都吓死人了。使用的VPC是之前下载的,装的是Mono 2.8,昨天就是利用YaST自动升级到Mono 2.10。

  事后总结,在Linux下部署Mono ASP.NET,主要是没有像IIS那样可视化的操作,都是命令行,看起来就是恐怖上海网站建设,但其实并没有的想像中的那么复杂。我们要先把官方的几个文档(Mod_monoAutoHostingApache mod_mono configuration tool)先熟悉一下,了解一下工作原理,再动手实施可能会少走一些弯路。另外一条教训就是,先部署低版本的,简单的,再尝试新版本刚支持的特性,比如先部署简单的ASP.NET WebForm页面(简单的一个页面),再部署MVC站点;先部署MVC1.0,再部署最新的MVC3.0,这样即使出错也更利于我们排错。刚开始直接折腾MVC3,那个杯具啊。

  官方文档中介绍,在openSUSE+Apache有两种部署方式:自动Hosting和手工创建配置文件部署:

  1.自动Hosting,只需做一次Apache配置,以后的部署Mono站点就只需要Xcopy到站点目录下就可以了,不需要再做额外部署。参考AutoHosting,主要步骤:

上海徐汇企业网站设计与制作kquote>

1)在/etc/上海企业网站设计与制作apache2/httpd.conf添加:Include /etc/apache2/mod_mono.conf (这个文件在openSUSE 11.3的实际路径是Include /etc/apache2/con.d/mod_mono.conf),引入mod_mono的配置。

2)在mod_mono.conf文件中添加这一行:MonoAutoApplication enabled。上海闵行企业网站制作在官方文档中,还需要加入:MonoServerPath “/usr/bin/mod-mono-server2″,但实际上好像不需要。而且我改成:MonoServerPath “/usr/bin/mod-mono-server4″,它也不工作,不知道是什么问题。

3)如果是部署MVC站点,还需要在mod_mono.conf文件中加入这行:ForceType application/x-asp-net。但是对MVC站点,不推荐使用自动Hosting。

  当我做了上海闵行企业网站设计与制作以上配置之后,我们在部署ASP.NET站点时,就只需要把目上海企业网站制作录拷贝到/srv/www/htdocs/就可以完成部署了。文件目录对应的就是站点的虚拟目录。

  2.手工创建部署文件,看完善友兄的这篇文章在Mono 2.8上部署ASP.NET MVC 2,我有点晕。那个配置文件就足以让我头痛,之前这篇文档Apache mod_mono configuration tool一直都被我无视着。当我完整的看完几个官方文档之后,我才意识到这个工具的重要性。这个工具会根据我们希望部署的站点的情况,提供几个输入框让我们输入,之后我们就可以下载它生成的配置文件,直接将这些配置文件下载放到:/etc/apache2/conf.d/  而不需要再做其它配置站点就可以正常工作。

  3.最土的部署办法,就是看看内置的那几个站点是如何部署的,直接把它的几个配置文件拷贝一下,修修改改也一样可以。在刚开始,我没有按正常流程来的时候,实在搞不清楚了,我用这种办法也一样把站点部署成功了。而且还是直接部署MVC3站点。

  总结到这里,我发现在Linux下部署Mono ASP.NET也不是很难的事情嘛。只是一开始走的弯路有点多,心情有点急躁。不过,上篇中提到的MVC3的几个问题,在Linux下面也是同样存在的,应该可以判断是Mono2.10存在的bug吧,不过这bug也太过低级吧,难道他们没有测试提交的情况?如果是这样,希望能尽快解决这些bug。

转载于:https://www.cnblogs.com/waw/archive/2011/10/15/2213545.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110537.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java内存模型介绍[通俗易懂]

    java内存模型介绍[通俗易懂]####Java内存模型Java内存模型描述了Java虚拟机和计算机内存之间是如何协同工作的。一个Java虚拟机也是一个完整的计算机的模型,因此,这个模型自然也包含了内存模型。如果你想写出表现良好的并发程序就必须理解Java内存模型。Java内存模型描述了不同线程间如何和何时看到被其他线程修改的共享变量以及在需要时如何同步访问共享变量。原来的Java内存模型存在很多不足,所以在Java5时进行了修改。这个一直使用至今。####Java内存模型每个运行在Java虚拟机中的线程都拥有自己的线程栈。这

    2022年7月8日
    23
  • 2022电力电缆复训题库及在线模拟考试

    2022电力电缆复训题库及在线模拟考试题库来源:安全生产模拟考试一点通公众号小程序2022年电力电缆操作证考试题为电力电缆复习题考前押题!2022电力电缆复训题库及在线模拟考试根据电力电缆考试教材。电力电缆考试题库通过安全生产模拟考试一点通准确把握考试要点。1、【单选题】6~35kV三芯交联聚乙烯电缆共用()。(A)A、内护套B、中性导体C、地线2、【单选题】中性点经电阻接地的优点是,()。(A)A、减小了单相接地电流B、不需要增加设备C、加大了电磁干扰3、【单选题】传统的配电网,特别是农村电网多为()。(

    2022年5月7日
    59
  • CSS面试题总结[通俗易懂]

    CSS面试题总结[通俗易懂]前面的话小柒前面总结了与HTML相关的面试题,这篇文章总结CSS相关面试题。题目(1)盒子模型的理解?盒模型分为两种:标准模式与混杂模式(IE模式)标准盒子模型IE盒子模型一般的我们所说的width、height都是指标准盒子模型下的width(也就是content)。(2)CSS中哪些属性可以同父元素继承?字体系列:font-family,font-siz…

    2022年5月6日
    27
  • scrapy安装失败_scrapy安装失败

    scrapy安装失败_scrapy安装失败最近看了Python的基本语法,尝试着学一下爬虫,需要安装Scrapy。通过pip安装Scrapy时遇到下列问题:error:MicrosoftVisualC++9.0isrequired(Unabletofindvcvarsall.bat).Getitfromhttp://aka.ms/vcpython27访问系统提示的地址(Microsof

    2022年9月18日
    3
  • inputstreamreader和inputstream_InputStream

    inputstreamreader和inputstream_InputStreampackagecsdn.java3;importorg.junit.Test;importjava.io.*;/***处理流之二:转换流的使用*1.转换流:属于字符流*InputStreamReader:将一个字节的输入流转换为字符的输入流*OutputStreamWriter:将一个字符的输出流转换为字节的输出流**2.作用:提供字节…

    2022年9月25日
    2
  • senparc.weixin sdk是什么意思_微信MP广告

    senparc.weixin sdk是什么意思_微信MP广告=============以下写于2013-07-20=============这一篇文章其实可以写在很前面,不过我还是希望开发者们尽多地了解清楚原理之后再下手。通过上

    2022年8月21日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号