atom feed50 messages in ru.sysoev.nginxRe: OT: 'best' dynamic language
FromSent OnAttachments
Aleksandar LazicApr 20, 2008 2:34 pm 
Bedros HanounikApr 20, 2008 3:21 pm 
Manlio PerilloApr 20, 2008 3:26 pm 
Cliff WellsApr 20, 2008 3:34 pm 
Cliff WellsApr 20, 2008 3:38 pm 
Aleksandar LazicApr 21, 2008 12:46 am 
Aleksandar LazicApr 21, 2008 12:50 am 
Aleksandar LazicApr 21, 2008 1:27 am 
Aleksandar LazicApr 21, 2008 1:29 am 
Kiril AngovApr 21, 2008 7:47 pm 
Kiril AngovApr 21, 2008 7:48 pm 
Kiril AngovApr 21, 2008 7:57 pm 
Igor SysoevApr 21, 2008 11:13 pm 
Marcin KasperskiApr 22, 2008 1:18 am 
Manlio PerilloApr 22, 2008 3:23 am 
Igor SysoevApr 22, 2008 3:38 am 
Manlio PerilloApr 22, 2008 3:54 am 
Manlio PerilloApr 22, 2008 4:07 am 
Igor SysoevApr 22, 2008 4:18 am 
Marcin KasperskiApr 22, 2008 5:05 am 
Manlio PerilloApr 22, 2008 6:18 am 
Manlio PerilloApr 22, 2008 6:50 am 
Igor SysoevApr 22, 2008 7:10 am 
Manlio PerilloApr 22, 2008 7:30 am 
Kiril AngovApr 22, 2008 7:42 am 
Cliff WellsApr 22, 2008 12:24 pm 
Manlio PerilloApr 22, 2008 1:25 pm 
Manlio PerilloApr 22, 2008 1:27 pm 
Francisco ValladolidApr 22, 2008 2:12 pm 
Cliff WellsApr 22, 2008 2:43 pm 
Sean AllenApr 22, 2008 3:10 pm 
Jay ReitzApr 22, 2008 10:13 pm 
Aleksandar LazicApr 22, 2008 11:06 pm 
Aleksandar LazicApr 22, 2008 11:09 pm 
Aleksandar LazicApr 22, 2008 11:18 pm 
Mike CrawfordApr 25, 2008 2:02 pm 
Igor SysoevApr 25, 2008 10:46 pm 
Aleksandar LazicApr 25, 2008 10:56 pm 
Igor SysoevApr 25, 2008 11:53 pm 
Manlio PerilloApr 26, 2008 2:59 am 
Igor SysoevApr 26, 2008 3:22 am 
Manlio PerilloApr 26, 2008 3:45 am 
Manlio PerilloApr 26, 2008 4:24 am 
Manlio PerilloApr 26, 2008 7:37 am.c
Manlio PerilloApr 26, 2008 8:28 am 
Igor SysoevApr 26, 2008 8:57 am 
Adrian PerezApr 26, 2008 9:52 am 
Manlio PerilloApr 26, 2008 10:42 am 
Mike CrawfordApr 28, 2008 8:05 am 
Adrian PerezMay 4, 2008 10:40 am 
Subject:Re: OT: 'best' dynamic language
From:Manlio Perillo (manl@public.gmane.org)
Date:Apr 22, 2008 7:30:46 am
List:ru.sysoev.nginx

Marcin Kasperski ha scritto:

Regarding nginx support: currently I tend to believe that using nginx as reverse proxy (and static file server) may be the best runtime configuration....

The problem with reverse proxy is that you need another server,

FastCGI/SCGI/etc are also another server, just less explicit ;-)

Of course :)

and this server is usually written in Python, and most of the time it uses threads for concurrency,

If you are hardcore, you can use twisted. But IMO it is overkill for web.

By the way I'm a Twisted programmer :). This how I came to know and low asynchronous programming!

And I have also used Twisted Web (and Nevow) for a rather big web application.

However I think that Nginx + mod_wsgi + templating system like Mako produces applications that are more maintainable and modular.

Also, threads are not that bad in such context. Note that here you have non-trivial code, which makes some database operations, dynamically formats pages using templates, etc. The cost of some context switches is far less noticeable than in case of static file serving.

The problem is not with context switches, but with the Python Global Interpreter Lock.

1) Use Nginx as main server + reverse proxy 2) Run your application embedded in Apache or Nginx (but the application should be written with care)

I do not see any advantages of apache here (unless you want to use existing permissions, authorization etc infrastructure already defined for apache).

No, Apache *has* advantages. You have a very robust server for your application, and it's wsgi module allows much more control then any of the "custom" servers written in Python.