`
leissen
  • 浏览: 7802 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

lighttpd+fastcgi搭建一个server如何保存server的状态

阅读更多

需求:服务器端有许多静态文件,还有许多用c++编写的业务组件,需要对这些功能进行包装对外发布服务,server端需要保存客户端状态(类似session的功能)和一些server端的状态,并且server的功能可能会增强如添加web管理界面等等;

 

 

初步设想的解决方案是:用lighttpd+fastcgi来搭建服务器,fastcgi程序可以直接用c++来编写,这样可以直接调用c++编写的业务组件,但是比较麻烦的是server要添加状态维护的功能,因为fastcgi是多进程的实现,要共享状态的话就要进行进程间的通信,初步的想法是引入一个内存数据库,把状态的信息都放到这个里面,如果要添加web管理界面则用php来写,但是整体感觉这种方式实现起来不是很简便,尤其是用c++写的fastcgi程序的后期维护及升级。

 

还有一种想法是server用java写,用jni调用c++组件,状态管理就不用操心了,但是把c++组件改成jni也是一个不小的工作量,所以都比较麻烦

 

基本情况大概这样,希望能听听大家建议,多谢

 

 

另:lighttpd/Fastcgi方式可以用来部署RoR,不知道这种部署方式的fastcgi是怎么实现的,在server端是如何维护状态的,是否可以借鉴?因为我从来没有用过RoR,所以想问问大家

分享到:
评论
3 楼 rubyrock 2008-12-18  
ror的session通过cookie实现。
rails2.0以前是cookie中存session的id,然后在文件(或数据库,或Memcache)中保存session的具体内容。
rail2.0以后,可以将整个session的数据都放在cookie中。
2 楼 leissen 2008-12-17  
不知道RoR的用户登录状态一般是放在什么地方的?
1 楼 robbin 2008-12-17  
Server端不应该存在状态。可扩展性的服务端架构要求你Share Nothing Architecture。你的状态可以放在cookie,数据库,缓存,或者文件当中,但是不允许你在内存当中存放状态数据,在内存当中保存状态是架构设计上大忌。

相关推荐

    搭建lighttpd+cgi的代码包

    本教程将详细介绍如何使用lighttpd和CGI来搭建一个动态网页服务器。 1. **理解lighttpd** lighttpd是一个快速、安全且配置简单的HTTP服务器,特别适合于资源有限的环境。它的特性包括模块化设计、高性能的事件模型...

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

    "Openwrt里架设Lighttpd+PhP5+MYSQL环境标准教程" ...本教程指导读者架设了一个完整的Lighttpd+PhP5+MYSQL环境,实现了Web服务器搭建。同时,本教程也提供了一些实用的配置项,帮助读者更好地配置和优化自己的服务器。

    Linuxlighttpd+php+mysql+Discuz论坛.pdf

    在构建一个基于Linux系统的Web服务器时,通常会采用开源软件来搭建高效且成本低廉的环境。本教程将详细介绍如何在Linux环境下使用lighttpd作为Web服务器,结合php和mysql数据库来搭建Discuz论坛。首先,我们来看...

    Linux系统平台上安装和配置Ruby on Rails

    在Linux系统上安装和配置Ruby on Rails是一个常见的任务,特别是在开发Web应用程序时。Ruby on Rails(RoR)是一个基于Ruby语言的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,强调简洁和生产力。在...

    在Lighttpd服务器中运行Django应用的方法

    在搭建Web服务时,Lighttpd是一个高效且轻量级的选择,尤其适合与Python的Django框架结合使用。本文将详细介绍如何在Lighttpd服务器中配置FastCGI模块来运行Django应用,并且讲解如何同时运行多个Django应用。 首先...

    spawn搭建轻量化web服务器

    "spawn-fcgi"是一个小巧而强大的工具,常用于搭建轻量级的FastCGI Web服务器。本篇文章将详细介绍spawn-fcgi以及如何利用它来创建高效运行的Web环境。 FastCGI是一种协议,用于将Web服务器的工作负载分发到外部进程...

    支持php安全,快速,灵活的web服务器

    "lighttpd-1.4.13"是Lighttpd的一个版本,它提供了上述特性。 Lighttpd: 1. **轻量级**: Lighttpd以其低内存占用和CPU利用率而闻名,这使得它在处理大量并发连接时仍然保持高效。对于资源有限的服务器或高流量...

    Install Ruby on Linux

    为了支持Rails应用,我们需要安装FastCGI模块和fcgiwrap,这是一个处理FastCGI请求的简单程序: 1. 安装fcgiwrap: ```bash wget ...

    Ruby on Rails安装包全集(Linux)

    3. **lighttpd-1.4.11.tar.gz**: Lighttpd是一个轻量级的Web服务器,适合用于资源有限的环境,如嵌入式设备或个人服务器。在Ruby on Rails开发中,它可以作为应用的前端服务器,负责静态文件服务和FastCGI通信。 4....

    HTTPServer.zip.zip

    这个文件很可能包含了一个名为 "HTTPServer.zip" 的压缩文件,这通常意味着我们可能在探讨关于HTTP服务器的相关内容。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到...

    高性能高并发服务器架构大全

     一个很有意义的SQL的优化过程(一个电子化支局中的大数据量的统计SQL) 166  如何优化大数据量模糊查询(架构,数据库设置,SQL..) 168  求助:海量数据处理方法 169 # re: 求助:海量数据处理方法 回复 更...

    FreeBSD7.0编译安装nginx+php+mysql.pdf

    至此,你已经在FreeBSD 7.0上成功地构建了一个包含Nginx、PHP和MySQL的Web服务器环境。然而,记得在实际部署中,还需要对安全性进行进一步的考虑,例如设置防火墙规则、限制远程访问、定期更新软件等,以确保系统的...

    phpstudy-x64.zip

    因此无论你是新手还是老手,该程序包都是一个不错的选择。 1、全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。 2、该程序包集成以下软件,括号内为phpstudy下对应的目录...

    phpStudy 2016.10.31 再次更新,支持自定义php版本

    因此无论你是新手还是老手,该程序包都是一个不错的选择。 1、全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。 2、该程序包集成以下软件,括号内为phpstudy下对应的目录...

    Pluto1_9_9_2.rar

    普鲁托安全Web应用专家是基于HttpServer中间件,利用C++Builder制作的一个Web服务器。 思路 能不能让这个服务器支持jsp和PHP呢?原理上是可以的,用fastcgi进行,默认情况下,php是9000端口,JSP的tomcat是8080端口...

    web.py教程

    web.py是python语言的一个web开发框架,本教程将对web.py的基本应用、提高应用、实用工具、模板、测试、用户输入、数据库、部署和子域名等方面进行讲解。 基本应用 1. Hello World!:展示如何使用web.py实现Hello ...

Global site tag (gtag.js) - Google Analytics