Questions tagged [mongrel2]

Mongrel2 is an application, language, and network architecture agnostic web server that focuses on web applications using modern browser technologies.

Mongrel2 is an application-, language-, and network architecture- agnostic web server that focuses on web applications using modern browser technologies.

Mongrel2 supports 17 languages and platforms, HTTP, Flash sockets, WebSockets, Long Polling, and many ways to deploy and hack on it. It's also operations-friendly: You can automate and control nearly every aspect of a Mongrel2 install from any of the supported languages. It's also open-source: you can find it on GitHub, and its homepage is at mongrel2.org, which also hosts the manual.

What makes Mongrel2 special is how it satisfies HTTP requests in a language agnostic and asynchronous way using a simple messaging protocol to talk to applications; not just serve files. Mongrel2 is designed to be incredibly easy to automatically manage as part of your infrastructure. Other web servers do some of the things Mongrel2 does, but they either do them in a disorganized way, or they don't do all of them at once. Plenty of language-specific web servers like Node.js and Jetty have asynchronous operation, but they’re not language agnostic. Other web servers will let you talk to any language as a backend, but they insist on using HTTP proxying or FastCGI, which is not friendly to asynchronous operations.

18 questions
170
votes
4 answers

Sending websocket ping/pong frame from browser

I keep reading about ping/pong messages in websockets to keep the connection alive, but I'm not sure what they are. Is it a distinct frame type? (I don't see any methods on a javascript WebSocket object in chrome related to ping-pong). Or is it…
danny
  • 10,103
  • 10
  • 50
  • 57
77
votes
2 answers

Why use Mongrel2?

I'm confused what purpose Mongrel2 serves/provides that nginx doesn't already do. (Yes, I've read the manual but I must to be too much of a noob to understand how it's fundamentally different than nginx) My current web application stack is: -…
frooyo
  • 1,863
  • 3
  • 19
  • 21
15
votes
2 answers

Mongrel2 vs. NGINX+ZeroMQ?

I see this new NGINX+ZeroMQ project on github and am now confused. What are the feature and scalability differences between Mongrel2 and NGINX+ZeroMQ. (The reason why I ask is because I'm under the impression Mongrel2 was solely created since NGINX…
nickb
  • 9,140
  • 11
  • 39
  • 48
5
votes
4 answers

How can I serve a WSGI Python app using Mongrel2?

This is an attempt to discover a canonical answer for something that seems to be hard to Google for right now. I am writing a web app in Pyramid, and I have the luxury of deciding what my server stack will look like. I've heard very good things…
Brighid McDonnell
  • 4,293
  • 4
  • 36
  • 61
3
votes
0 answers

Can Mongrel2 be set to generate a new instance UUID every time it's started?

As per Rule 2 in the Mongrel2 manual(section 5.3.2), every message to and from Mongrel2 has the instance's UUID as the very first thing. And Rule 3(Section 5.3.3) says it's followed by one number after it, which is the connection id, for messages…
3
votes
2 answers

installing mongrel2 on precise pangolin?

Might be a dumb question, but is there a ppa or easy way to install mongrel2 on precise pangolin using the package manager? If installing from source is the current best way, that would be fine too, but I'd prefer keeping everything up to date via…
Hoopes
  • 3,943
  • 4
  • 44
  • 60
2
votes
0 answers

Mongrel2, Brubeck and large file uploads

I'm having a bit of trouble getting Mongrel2's upload.temp_store and brubeck working together. I have the async file upload example code from the mongrel2 working. I just can't seem to find anything in the docs for Brubeck about how their handlers…
wegrata
  • 1,596
  • 1
  • 15
  • 19
2
votes
0 answers

Mongrel2 rack handler won't daemonize

I am trying to deploy an app with Mongrel2-rack-rails3 stack. I am using khi-rack-mongrel2 handler for ruby rack. The problem is that even if I setup everything for local development, I can't make rails server daemonize itself by running it with -d…
Eimantas
  • 48,927
  • 17
  • 132
  • 168
2
votes
2 answers

Trying to get Mongrel2 + m2wsgi to work

I'm trying to get mongrel2 to work with m2wsgi. What I need to do so I can see "Hello World!" in my browser? Mongrel2 is installed but any site configurations are not done yet. def app(environ, start_response): start_response("200 OK",…
raspi
  • 5,962
  • 3
  • 34
  • 51
1
vote
1 answer

Mongrel2 send_spec and recv_spec

I have just started messing around with Mongrel2, all the tutorials went great until I started pointing a Mongrel2 Handlers send_spec and recv_spec to an address other than localhost, for example a second machine on the network. I started getting…
crenegade
  • 11
  • 2
1
vote
0 answers

Running Kibana and Elasticsearch under Mongrel2

I have a Vagrant VM running Elasticsearch and Kibana. Kibana is currently being served by Mongrel2 as per the following configuration kibana_directory = Dir(base='kibana/', index_file='index.html', …
Philip O'Brien
  • 4,146
  • 10
  • 46
  • 96
1
vote
2 answers

Logstash Grok Pattern vs Python Regex?

I am trying to configure logstash to manage my various log sources, one of which is Mongrel2. The format used by Mongrel2 is tnetstring, where a log message will take the…
Philip O'Brien
  • 4,146
  • 10
  • 46
  • 96
1
vote
1 answer

Obfuscated HTTP parser?

I am learning Go and I thought it would be a good exercise to implement my own HTTP 1.1 parser using Ragel and Go. I thought it would be a good idea to have a look at the code base of Mongrel2 to see how it's done. The code for Mongrel's HTTP parser…
Sergey Koulikov
  • 267
  • 4
  • 7
  • 16
1
vote
1 answer

Fallback Page In Mongrel2 When Proxy Service Unavailable?

I've got a Mongrel2 server set up with a basic proxying arrangement: /static/ goes to some static resources, and everything else gets proxied to another server on the same machine. How can I set up Mongrel2 such that if the service that I'm proxying…
Brighid McDonnell
  • 4,293
  • 4
  • 36
  • 61
0
votes
2 answers

Starting mongrel2 with in a fabric deployment script

I'm trying to deploy a web app in Brubeck, a tornado-like python framework that runs on top of mongrel2 and I'm having trouble deploying mongrel2 in a fabric script. From my fabfile: with cd(project_dir): run('mkdir -p run && mkdir -p log &&…
danny
  • 10,103
  • 10
  • 50
  • 57
1
2