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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • initramfs-kernel_deepin initramfs

    initramfs-kernel_deepin initramfsOtherlanguages:一些基于Linux的计算机系统系统需要一个intramfs才能正常启动。在本指南中,将说明initramfs的概念,以及如何正确地创建和管理initramfs。Initramfs是什么介绍许多用户是没有必要关心initramfs系统的。他们的系统使用了简单的分区方案,而且没有奇奇怪怪的驱动程序或者设置(如加密的文件系统),因此Linux内核完全能够把…

    2022年8月11日
    7
  • 乌云漏洞平台官网_bug漏洞平台

    乌云漏洞平台官网_bug漏洞平台前期准备乌云资源文件下载地址:https://github.com/m0l1ce/wooyunallbugs将下载的乌云数据库文件、网页等内容全部下载下来,最终内容如下phpstudy下载:https://www.xp.cn/download.html下载phpstudy,目前最新版本是V8.1,直接安装就可以。环境搭建创建网站首先创建一个自己喜欢的域名,注意PHP版本需要是5.3的版本,默认的7版本不支持相关的语法。第二个域名设置为static.loner.fm将bugs.rar解

    2025年8月10日
    4
  • maven jar 中没有主清单属性「建议收藏」

    maven jar 中没有主清单属性「建议收藏」mavenjar中没有主清单属性

    2025年9月12日
    7
  • Intellij idea创建springboot项目时报错Artifact contains illegal characters

    Intellij idea创建springboot项目时报错Artifact contains illegal characters

    2021年5月16日
    180
  • 左值和右值、左值引用与右值引用、移动语句(2)「建议收藏」

    以下来自IBM知识中心表达式可以分为以下值类别之一:左值Lvalue:如果表达式不是const限定的,则表达式可以出现在赋值表达式的左侧。 x值:要过期的右值引用。 右值(Prvalue)rvalue:非xvalue表达式,仅出现在赋值表达式的右侧。Rvalues包括xvalues和prvalues。Lvalues和xvalues可以称为glvalues。Note:类(p…

    2022年4月8日
    50
  • shiro安全框架_漏洞利用及攻击框架

    shiro安全框架_漏洞利用及攻击框架一、Shiro漏洞原理ApacheShiro框架提供了记住我的功能(RemeberMe),用户登录成功后会生成经过加密并编码的cookie。cookie的key为RemeberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的在服务端接收cookie值时,按以下步骤解析:检索RemeberMecookie的值Base64解码使用ACE解密(加密密钥硬编码)进行反序列化操作(未作过滤处理)在调用反序列化的时候未进行任何过滤,导致

    2025年10月4日
    4

发表回复

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

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