`
pcajax
  • 浏览: 2157035 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用lighttpd+mono在Linux上面跑ASP.NET程序

阅读更多

 

        是的,没错,用lighttpd(念作:lighty)+mono可以在Linux上面跑Linux程序.
       lighttpd是一个轻量级服务器,设计1w+静态网页并发.刚开始把lighttpd配只好后,浏览静态网页,那个速度就像飞一样.据说豆瓣就是靠lighttpd支持2500+W每天的访问量.lighttpd还会支持FastCGI扩展支持更多的动态网页程序.我就是安装另一个mono的FastCGI,才使lighttpd可以跑ASP.NET 程序的.
       一.先来看看怎么安装lighttpd: (Linux下面安装软件有一个特点就是自己编译,然后make install.时间长了感觉很顺手的,刚开始不习惯.)
       1. 到http://www.lighttpd.net/上面去下载源代码,然后解压缩,假设$lighttpd_src为源代码目录.
       2.编译,安装.
              假定安装路径为$install_root,下面用"/usr/local/lighttpd"为例.
             # cd $lighttpd_src
             # ./configure  --prefix=/usr/local/lighttpd
             先检查一下类库依赖,看看需要用到的类库是不是都有.要是没有的,看看少哪个,在ubuntu下就是apt-get一下,在我的openSuSE10.3下面就是"安装软件",输入名字,安装就行了.另外,要是用openSuSE 10.3的话,(我的机器)默认安装lighttpd 1.4.18的,那个也可以用的.要是不嫌麻烦的话,就装一个1.4.19.
             # make
             # sudo make install
             至此,lighttpd基本所算是安装好了,下来就是lighttpd的配置之类的.不想配置的话,lighttpd也可以用的.就看你的爱好了.反正我是不想整了,头都大了.
             lighttpd的启动是:
             # $install_root/sbin/lighttpd -f $lighttpd_src/doc/lighttpd.conf
             你可以把那个conf文件copy到一个你容易使用的地方,openSuSE默认的地方时/etc/lighttpd/lighttpd.conf.
             关闭lighttpd:(需要su权限)
             # killall lighttpd
        3.稍微配置一下lighttpd.conf文件,使之可以浏览静态网页.看看速度如何.
             打开文件,找到server.document-root这个节点,后面填上静态网页的路径,比如我的是server.document-root="/home/egmkang/Program/html/".
             然后 启动lighttpd,在浏览器里面输入localhost看看.一般是可以的,要是不幸的话,看看server.bind="192.168.1.110"里面填的是什么,一般是127.0.0.1或者localhost.
        二. 至此,lighttpd就可完全工作了,要是想跑ASP.NET程序的话,还得再加上mono的FastCGI 模块.下来我们安装xsp,并配置好conf文件.
         1.上mono的官方网站去down一个xsp,这个是必须的,一般会是一个rpm包.
             安装这个rpm包的时候肯定会说少什么包,就在那个网页上面下载什么包.因为我是用YaST安装的,没注意这个事.SuSE用户可以看看这个更新源
http://en.opensuse.org/Additional_YaST_Package_Repositories#Mono
          2.下来配置lighttpd.conf文件
             在文件里面添加进去:
            ################################################
            # fastcgi-mono-server2
            ################################################
            var.mono_dir = "/usr/"
            var.mono_shared_dir = "/tmp/"
            var.mono_fcgi_root = server.document-root
            var.mono_fcgi_applications = "/:."
            $HTTP["host"] == "192.168.1.110" {
            server.document-root = "/home/egmkang/Program/html/"
            fastcgi.server = (
                "" => ((
                        "socket" => "/tmp/fastcgi-mono-server",
                        "bin-path" => "/usr/bin/fastcgi-mono-server2",
                        "bin-environment" => (
                                "PATH" => "/bin:/usr/bin:" + mono_dir + "bin",
                                "LD_LIBRARY_PATH" => mono_dir + "lib:",
                                "MONO_SHARED_DIR" => mono_shared_dir,
                                "MONO_FCGI_LOGLEVELS" => "Standard",
                                "MONO_FCGI_LOGFILE" => mono_shared_dir + "fastcgi.log",
                                "MONO_FCGI_ROOT" => mono_fcgi_root,
                                "MONO_FCGI_APPLICATIONS" => mono_fcgi_applications
                        ),
                        # 这个为cgi模块的最大实例数目
                        "max-procs" => 1,
                        "check-local" => "disable"
                ))
            )
            fastcgi.map-extensions     = (
                            ".asmx" => ".aspx",
                            ".ashx" => ".aspx",
                            ".asax" => ".aspx",
                            ".ascx" => ".aspx",
                            ".soap" => ".aspx",
                            ".rem" => ".aspx",
                            ".axd" => ".aspx",
                            ".cs" => ".aspx",
                            ".config" => ".aspx",
                            ".dll" => ".aspx",
                            ".castle"=>".castle",
                            ".rails"=>".rails"
                            )
        }
        现在重新启动lighttpd,在"虚拟目录"下面放置一个info.aspx看看能不能访问,要是能的话,就配置好了.要是不能的话,我基本上也没办法....汗这个配置文件就是我机器上面的.........
       这个是我的info.aspx的截屏  http://images.cnblogs.com/cnblogs_com/egmkang/127872/r_info.aspx.png  .
       3. 你刚才看到了.castle.对没错,我在这个服务器上面成功跑起来MonoRail自带的那个例子.
(注:MonoRail自带的例子的程序写的有一些问题的,就是文件名称的大小写问题,刚才我好好测试了一下那个工程,全部是文件名称的问题,他自己程序写的时候没注意.而且,光靠改文件名称的大小写还不能是网站完全跑起来,得把程序里面的名字修改了,要不然他一会儿访问Index.vm,一会儿又访问index.vm........)
           把MonoRail自带案例的文件复制到你的虚拟目录下面,修改Web.config文件名为web.config,./Views文件夹下面的Home文件夹为home,./Views/home/文件夹下面的Index.vm为index.vm.因为在Linux下面文件是区分大小写的,Win下面不区分.所以那个项目在Win下面能正常运行,在Linux下面不一定可以.
          (这一步我不知道可以省略不,因为没办法作对照实验....)把Castle的那些dll类库文件复制到mono的安装目录下面.在我的机器上面是/usr/lib/mono/2.0 .要是你的机器上面不是,那就whereis mono看一下.:lol
          这个是截屏:http://images.cnblogs.com/cnblogs_com/egmkang/127872/r_monorail.png
          园子把图片的尺寸都给改了,看得很模糊,大家将就一下.
       最后要说的是,lighttpd性能很好,这个不用我的废话,但是需要自己慢慢调试优化,达到最优的效果不是很容易的.(我现在还是一个菜菜.刚刚会用而已:lol)要是弄得好的话,也有可能用一两台破服务器实现2500+W/天的Hits访问量.不知道园子一天多少pv阿?貌似园子用的是8核CPU阿.......(貌似比较兴奋,以为1天2500W 的pv,后来一看不是500W 左右.特此订正.谢谢老赵.)
分享到:
评论

相关推荐

    搭建lighttpd+cgi的代码包

    在CentOS或Fedora上,可以使用`sudo yum install lighttpd`。确保安装过程中选择安装CGI相关的模块。 4. **配置lighttpd** 安装完成后,需要编辑lighttpd的配置文件,通常位于`/etc/lighttpd/lighttpd.conf`。找到...

    lighttpd+mysql+php tar.gz安装包整合

    这个压缩包文件集合包含了在CentOS7系统上成功安装和测试的所有组件,包括lighttpd(一个轻量级HTTP服务器)、MySQL(一个流行的关系型数据库管理系统)和PHP(一种广泛使用的服务器端脚本语言)。下面将详细介绍...

    Linux下架设Asp.Net服务器

    http://www.wxqcw.com/提供该文档,主要是为了帮助那些需要在Linux下架设Asp.Net服务器的站长们。外加上,使用Lighttpd服务器,使得大大提高服务器的稳定性,和访问速度。不过可惜的是,该文档并未说明,如何将MsSql...

    phpLight(LightTPD+PHP集成包) v2014

    一次性安装无需再安装,即使重做系统后亦可使用,直接点启动即可。小巧简易迷你只有14M,非常方便的搭建网站服务器。有专门开发的控制面板进行控制程序的启停。phpLight 2014 包括以下组件:Lighttpd 1.4.32 服务器...

    套件php 集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader

    `phpStudy20161103.exe`是安装程序,用户可以通过这个程序在自己的计算机上安装整个PHP开发环境。`使用说明.txt`则是简短的使用指南,可能包含了一些基本的安装和启动步骤。 总的来说,这个工具包为PHP开发者提供了...

    phpLight 2013 网上首套LightTPD+PHP集成包

    phpLight 2013.2.20下载 phpLight 2013 是网上首套LightTPD+PHP集成包, 集成最新Lighttpd+PHP+MySQL+SQL-Front+Zend Guard Loader+XCache。...在不使用的情况不会启动相关进程,从而节省电脑的资源。

    在安卓中创建 lighttpd+mysql+php的服务器-almp7.zip

    在安卓中创建 lighttpd+mysql+php的服务器_almp7.zip

    lighttpd+php in android

    在Android上编译lighttpd可能需要一些技巧,因为Android的Linux内核版本与桌面版不同,可能需要对源码进行适当的修改以适应Android的环境。 **PHP** PHP是一种广泛使用的服务器端脚本语言,用于生成动态网页内容。...

    phpStudy 最新 Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend 稳定 强大

    该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序绿色小巧简易迷你仅有35M,有专门的控制面板。...

    Openwrt里架设Lighttpd+PhP5+MYSQL环境标准教程.pdf

    * 安装lighttpd模块:安装lighttpd-mod-fastcgi、lighttpd-mod-access、lighttpd-mod-alias、lighttpd-mod-redirect、lighttpd-mod-rewrite等模块。 * 安装php5模块:安装php5-fastcgi、php5-mod-gd、php5-mod-xml、...

    veket5.3 搭建web平台建站 lighttpd + php + mysql for veket 一键安装包

    Veket 官方论坛 lanwairen...同时会在使用工具生成两个菜单,一个查看 phpinfo, 一个查看 lighttpd状态, 网站根目录在/var/www/ 下,php.ini 在 /etc/目录下, lighttpd.conf 在 /etc/lighttpd/ 下,mysql 没有设置密码

    Linux Lighttpd 配置安装 运行 测试

    在Linux上安装Lighttpd,里面有遇到的一些问题的解决方法,整个安装流程,还有参考网站

    ubuntu lighttpd+webpy (fastcgi)配置方法

    在本文中,我们将深入探讨如何在Ubuntu操作系统上配置Lighttpd服务器与Webpy框架的集成,利用FastCGI技术实现高效动态网页服务。首先,确保已经安装了必要的组件,包括Lighttpd服务器、Webpy框架以及FastCGI支持。 ...

    phpstudy_phpstudy_

    phpStudy是一个PHP调试...该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。

    varnish+lighttpd配置

    Varnish和Lighttpd是两个非常重要的开源Web服务器软件,它们在Web性能优化和负载均衡方面发挥着关键作用。Varnish作为一个高性能的HTTP缓存代理,常用于减轻后端服务器的压力,提高网站响应速度;而Lighttpd则是一款...

    在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的方法

    ### 在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的知识点详解 #### 一、Lighttpd 概述 **Lighttpd** 是一款轻量级、开源的Web服务器软件,它以其高效、低资源消耗和强大的功能集而闻名。与传统的Web...

    fcgi-2.4.1-SNAP-0910052249.tar.bz2

    使用C语言编写后台程序。goahead也可以用。apt install lighttpdapt install nginxapt install spawn-fcgitar -xjvf fcgi-2.4.1-SNAP-0910052249.tar.bz2cd fcgi-2.4.1-SNAP-0910052249./configuremakemake install...

    phpstudy for Linux 版本.zip

    phpStudy for Linux 版本 (php一键安装包) 下载地址: 下载版:...Apache Nginx LightTPD MySQL php5.2 php5.3 php5.4 php5.5一键安装包 支持centos,ubuntu,debian等Linux系统,12种组合

    lighttpd 安装配置

    通过上述步骤,我们不仅完成了Lighttpd的安装与基本配置,还添加了对Ruby语言的支持,这对于运行基于Ruby的应用程序至关重要。Lighttpd以其轻巧高效的特点,成为了许多高流量站点的理想选择,而掌握其安装配置技巧,...

Global site tag (gtag.js) - Google Analytics