用php写web服务器。很早以前就在谁的blog上看到,说打算写一个php的web服务器,因为php是可以操作sockets的。理论上是可行的。今天偶然的机会看到的nanoweb就是一个例子,已经发行到2.2.8版本,且在linux下,性能似乎也还不错。且似乎解决了php的多线程问题?
具体效果有待考验,但是它已经可以跑起来了,并且据说增加了一些模块可以用来处理DDoS和一些蠕虫等问题,解压缩后,很小巧的东西,目前正在了解中。
已知的有,在 win32 平台下,只能单线程工作,因为它的多线程是利用了linux下的一些功能。具体是用到了pcntl库。
已知的问题2,暂时在win32平台下无法以服务方式启动。
一个很有意思的想法是,不知道在这样一个平台下,跑在linux下的nanoweb服务器,再去运行那些php是以cgi方式还是别的什么方式呢?
中文介绍
Nanoweb 是一个用 PHP 编写的足够安全、精简、可扩展的 HTTP 服务器软件,他是基于 GNU 协议的.因为是用 PHP 语言编写的,所以他很容易通过自定义模块扩展,并且因为是运行在 Zend 脚本引擎内部所以他很安全.它避免了因为一些诸如字符串格式化、缓冲区溢出等普遍的安全问题而造成的系统假死.我们应该感谢这种模块化的结构,使 Nanoweb 也可以做为一个框架来开发你独立的 WEB 应用.
Manoweb 的主要特性是:
- 兼容 HTTP/1.1 协议
- 简单、强大的配置方法
- 模块化结构
- 支持 FastCGI、CGI 和 SSI
- 支持虚拟主机
- 支持访问控制列表
- 支持 htpasswd、MySql、PostgreSQL 和 LDAP 认证
- 服务器端生成文件的主题
- 兼容 Apache 日志格式、MySQL 日志
- 支持目录浏览
- 支持 inetd 和 SSL
- 拒绝服务保护系统
- 代理服务器扩展
- 过滤和 gzip 压缩支持
- RBL 支持(mail-abuse.org)
- 支持扩展协议
nanoweb的官方网站是 http://nanoweb.si.kz