Hi,
It’s me again, the mod_rails/mod_ruby/mod_rack guy :).
As you may remember, I’m a CS student looking for a subject for my
masters thesis :). I had this great idea about making mod_r* for
Nginx, but it turned out to be a bad one…
So… Maybe you have
some ideas about what cool feature could Nginx have? I could implement
it then :).
Regards,
Mike
ESI caching would be great.
----- Original Message -----
From: “MichaÅ‚ Jaszczyk” [email protected]
To: [email protected]
Sent: Thursday, June 12, 2008 3:49 PM
Subject: tell me your feature request about nginx
On Thu, Jun 12, 2008 at 6:49 PM, Micha³ Jaszczyk [email protected]
wrote:
some ideas about what cool feature could Nginx have? I could implement
it then :).
Personally, I’d love to see it log it to pipes instead of files. Then
I can use my favorite loggers that give TAI timestamps and rotate on
file size, and keep a predefined number of logs. This has great
advantages - you can precisely estimate disk space for logs for
instance. I don’t think it should be a daemon’s job to write logs.
Plenty of great external tools for that - multilog from daemontools,
runit from Gerrit Pape, etc.
Drop of root priveleges once it’s bound and chroot as well. Even
Lighttpd does that.
Hi Micha?? (Sorry but I don’t see the right chars),
On Fre 13.06.2008 00:49, Micha?? Jaszczyk wrote:
Hi,
It’s me again, the mod_rails/mod_ruby/mod_rack guy :).
As you may remember, I’m a CS student looking for a subject for my
masters thesis :). I had this great idea about making mod_r* for Nginx,
but it turned out to be a bad one…
So… Maybe you have some ideas
about what cool feature could Nginx have? I could implement it then :).
Please, what is a CS student?!
How about to catch one from the features request page 
http://wiki.codemongers.com/NginxFeatureRequests
My preferd features are:
persistent connections to backends (fcgi, http, https,
http-keepalive, …)
JK-Protocol connector
Aleks
MichaÅ‚ Jaszczyk <jasiu85@…> writes:
I NEED LIKE LIGHTTPD’s X-SendFile Mode… 
On Thu, Jun 12, 2008 at 10:47 PM, mike [email protected] wrote:
some ideas of mine:
- more metrics (like how many connections, bytes served, bytes per
host: header, etc) - with zeus i was able to parse a group of files
per night to figure out by host: header how many http requests and how
many bytes were served up per vhost
This is IMHO really not a webserver’s job, it’s a log analyzer’s job.
- “smarter” health checks. perhaps another process that works in
tandem with nginx to dynamically add/remove upstream servers based on
Shouldn’t there be already a tool that does this?
- a mod_mogilefs type thing (see past mailing list archives for a
I can just see everyone who use weird FSes ask for a mod_*.
How about a mod_statistics that gathers lots of data (configurable), for
people with high traffic sites who don’t really want to do any logging
yet do want to see/track SOME metrics?
On 6/12/08, Dan M [email protected] wrote:
- more metrics (like how many connections, bytes served, bytes per
host: header, etc) - with zeus i was able to parse a group of files
per night to figure out by host: header how many http requests and how
many bytes were served up per vhost
This is IMHO really not a webserver’s job, it’s a log analyzer’s job.
it’s pretty simple to increment some counters every so often and dump
them to a file. otherwise we could spend 4-8 hours a night churning
through web logs for very basic metrics… this is just a feature
request it’s not a requirement
- “smarter” health checks. perhaps another process that works in
tandem with nginx to dynamically add/remove upstream servers based on
Shouldn’t there be already a tool that does this?
but adding/removing upstream servers from nginx requires editing the
nginx configuration (or a separate include) and having to restart/HUP
nginx every single time.
- a mod_mogilefs type thing (see past mailing list archives for a
I can just see everyone who use weird FSes ask for a mod_*.
mod_mogilefs would be perfect. it already uses proxy methodoligies and
webdav. there is interest for it, and it is a specific type of pseudo
filesystem. it’s not like asking for something crazy. i think some
people have figured out some wacky way to do it already but it isn’t
exactly out of the box.
On 06/13/08 13:32, mike wrote:
You have it.
X-Accel-Redirect.
http://wiki.codemongers.com/NginxXSendfile
OK. I’ve got this issue, too.
The situation is, I dynamical generate data, rather than output solid
files. And, not sure X-Accel-Redirect module supports regex or directory
level match, something like lighttpd does.
Any idea?
THX all.
On 6/12/08, Paul G. [email protected] wrote:
MichaÅ‚ Jaszczyk <jasiu85@…> writes:
I NEED LIKE LIGHTTPD’s X-SendFile Mode… 
God point. 
On Fri, Jun 13, 2008 at 03:19:27PM +0800, Cherife Li wrote:
On 06/13/08 13:32, mike wrote:
You have it.
X-Accel-Redirect.
http://wiki.codemongers.com/NginxXSendfile
OK. I’ve got this issue, too.
The situation is, I dynamical generate data, rather than output solid
With X-Accel-Redirect you may redirect request to proxied/FastCGI
locations.
files. And, not sure X-Accel-Redirect module supports regex or directory
level match, something like lighttpd does.
Could you show example of regex or directory level match ?
Hello
firstly i would like to say i love nginx and have recently finished
moving
from lighttpd!
here is my request if possible please im currently using php and nginx
for a
huge site using ~2gbit average across several dozen servers with serving
large files to thousands of people concurrently
each request goes thru php which does a bit of authentication and
concurrency control, it be nice if some of this could be shifted to
nginx
currently X-Accel-Redirect works like a charm and has resume support
which
is very nice
also the X-Accel-Limit-Rate is very useful
i also pass X-Session-ID header using an id generated via php to make it
easier to parse access logs later
now the problem i have is with NginxHttpLimitZoneModule
is there any way make this more flexible like
create an extra X-Accel-Limit-Connections header
that will allow the number of connections to a certain file be set
dynamically from php
for example something like
<?php
...
header( 'Content-Type: '.$download['file_mime'] );
header( 'Content-Length: '.$download['file_size'] );
header( 'X-Session-ID: '.$download_key );
header( 'X-Accel-Limit-Rate: '.$download['transfer_limit'] );
header( 'X-Accel-Redirect: /_downloads/'.$download_key );
//NEW OPTION! limit connections dynamicaly
header( 'X-Accel-Limit-Connections: 4');
?>
so the above would serve a file of certain mime and size using accel
redirect, limiting to certain speed and # connections, and using a
session
id for custom loging
Thanks
On Thu, 12 Jun 2008 23:10:08 -0700
mike [email protected] wrote:
- “smarter” health checks. perhaps another process that works in
tandem with nginx to dynamically add/remove upstream servers based on
Shouldn’t there be already a tool that does this?
but adding/removing upstream servers from nginx requires editing the
nginx configuration (or a separate include) and having to restart/HUP
nginx every single time.
Ideally this should work the way mod_backhand works for apache 1.3.
Nginx should make its list of upstream servers accesible via some API
and some external process that monitors those servers should be able to
dinamically add or remove them from nginx’s view. External process
should have a way to figure out various parameters from workers (either
some addon to workers or some acompanying daemon that monitors the
worker hardware node) and deceide on the best list based on different
decision weights from the list of those parameters.
See http://www.backhand.org/mod_backhand/
–
Jure PeÄar
http://jure.pecar.org
Michał Jaszczyk ha scritto:
Hi,
It’s me again, the mod_rails/mod_ruby/mod_rack guy :).
As you may remember, I’m a CS student looking for a subject for my
masters thesis :). I had this great idea about making mod_r* for
Nginx, but it turned out to be a bad one…
So… Maybe you have
some ideas about what cool feature could Nginx have? I could implement
it then :).
Here are some features I would like to implement but don’t have the
time:
- Embedded Lua interpreter
- Support for HTTP Digest authentication
- Support for hashed password file for HTTP Basic and Digest
authentication.
Regards,
Mike
Manlio
I second the following ideas:
-
A monitoring tool inside Nginx or a way to plug it to another one.
Indeed Monit cannot do the complete job on its own.
-
Posted by anonymous user:
//NEW OPTION! limit connections dynamicaly
header( ‘X-Accel-Limit-Connections: 4’);
A way to limit the number of connections.
Manlio P. wrote:
- Embedded Lua interpreter
I would say the embedded Parrot (http://www.parrotcode.org) interpreter
is better idea, since it provides common runtime for multiple languages
simultaneously. Including Lua 
If you’re going to work on esi caching let me know, i started a
project hosted here on github,
I’m not that far along but here’s what I have so far, I have a working
parser from my work on mongrel-esi, here =>
Google Code Archive - Long-term storage for Google Code Project Hosting. and I have a basic skeleton of
an addon module in github, with the starting point of my tests from
mongrel-esi… Still a lot of ground to cover.
On Fre 13.06.2008 08:37, mike wrote:
On 6/13/08, Jure Pe??ar [email protected] wrote:
Another note:
We should get a site started here with a list of ideas and then a way
for people to vote/second them - to get a true priority list of what
people want and a full list of everything people have asked for…
Why not reusing the current feature site?
Aleks