Hacker News new | ask | show | jobs
by oelmekki 3210 days ago
I initially thought it would allow to dynamically handle upstreams list (and other configuration) like hipache is doing [1], which would be awesome for dokku or other container management systems which rely on system nginx. But after seeing languages mentioned, I'm confused.

Is it supposed to replace language specific servers, like unicorn and puma for rails (but then, I'm confused about what such kind of support would be for Go, since the server is directly embedded in the program)? Does it embeds interpreter for interpreted languages, like mod_* did for apache?

[1] https://github.com/hipache/hipache

4 comments

Re the Go thing: they give you a go package: https://github.com/nginx/unit/tree/master/src/go/unit.

Note that it's actually CGo (which is not Go), and it uses a non-standard build process to install it: http://unit.nginx.org/docs-installation.html#source-code.

I don't like it at all :( I usually put plain nginx in front of my app, to handle static files and simple load-balancing, but this seems to be oriented towards handling issues best handled elsewhere.

Kong would be ideal in front of dokku: https://getkong.org

It works with postgres or cassandra (and eventually scylladb https://github.com/Mashape/kong/issues/754 ).

Also, nginx is pretty good at restarts, even with thousands of files and vhosts.

Dynamic upstreams are available in nginx, but only in the enterprise/paid offering.
it's like swarm - https://docs.docker.com/engine/swarm/#feature-highlights but much more lightweight.
and nothing to do with docker containers

in fact nothing like it really AFAICT