Hi Henrik, > I need to be able to serve static content as well as dynamic content > generated through PicoLisp.
I have tried several different configurations. You can serve everything with picolisp, either the way Alex suggested or you can have a look at http://logand.com/picoWiki/rewriteUrl how to completely control the format of your urls inside your picolisp app. Only a small 'patch'-ing is necessary. Even though I do not serve all content by picolisp in the end, I still use variations on the rewriteUrl in my apps running behind nginx. > I saw that Tomas had managed to separate the concerns here: > http://www.mail-archive.com/picolisp@software-lab.de/msg00311.html > through the use of Nginx for static content and the pico server for > the rest. > > How did you go about setting it up? That post is not exactly chock > full of details :) I end up having nginx on port 80 with static content served directly by nginx and dynamic content proxied to picolisp. You can specify rewrite rules in nginx to match urls depending on static or dynamic content. You can configure proxies to your picolisp servers and then you don't really need httpGate if your trafic goes through nginx on port 80. The only thing to keep in mind is that nginx does not keep connections open (http1.1 only, used by Alex to speed up widget responses over SSL if I remember well). It wasn't an issue for me. Also, I did not like the default picolisp behaviour where the users get connection error when the picolisp session expires. First I made a small change to httpGate but Alex didn't like it and I didn't want to maintain my own version so I took advantage of an nginx features where your server generating dynamic content can return an "internal" redirect for nginx and also default fallback url when connection to your server fails. This way users always get some screen; if not from their session process, then at least from the main/parent app process. Cheers, Tomas -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe