a web server in php
Have you ever wanted a web server written entirely in PHP? Now you can with nanoweb. A project like this really shows the power of the PHP language.
Features
- HTTP/1.1 implementation
- Keep-alive connections and cache helpers
- Modular architecture
- CGI and Server side includes support via included modules
- Name based virtual hosts
- Authentication support
- Error documents
- MIME support
- gzip content encoding
- PHP support
- Many other modules
Performance
A report here states the following: “nanoweb reached 101 days of uptime and did not show a single glitch after serving more than 4.1 milion hits and more than 52 GB.”.
Here are some more details:
Static test
This was measured on this server, a duron 700 with 1gb of ram.
The tests were run using ab and consisted of 500 requests (20 simultaneous) on static and dynamic content.
Static content : Server Software: aEGiS_nanoweb/2.0.1-dev
Server Hostname: si.kz Server Port: 80
Document Path: /six.gif
Document Length: 28352 bytes
Concurrency Level: 20
Time taken for tests: 3.123 seconds
Complete requests: 500
Failed requests: 0
Broken pipe errors: 0
Keep-Alive requests: 497
Total transferred: 14496686 bytes
HTML transferred: 14337322 bytes
Requests per second: 160.10 [#/sec] (mean)
Time per request: 124.92 [ms] (mean)
Time per request: 6.25 [ms] (mean, across all concurrent requests)
Transfer rate: 4641.91 [Kbytes/sec]
received Connnection Times (ms) min
mean[+/-sd] median max Connect: 0 0 1.9 0 13
Processing: 18 100 276.4 40 2739
Waiting: 1 97 276.9 39 2739
Total: 18 100 277.8 40 2750
Installing
Unix:
install-sh -f or Run ./install-sh (if you have X-windows installed)
Windows:
Run INSTALL.BAT Note: Performance will not be as good as in unix because PHP does not support process forking in windows.
Download
Nanoweb 2.2.9 can be downloaded here
2 comments
[...] a web server in php [...]
[...] a web server in php [...]
Leave a Comment