HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
phusion
passenger
C++2010–2026
phusion / passenger

passenger

A fast and robust web server and application server for Ruby, Python and Node.js

12Distinct people
25Mentions
0Explicit recommenders
5.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A fast and robust web server and application server for Ruby, Python and Node.js

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 4:01:40 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year25 dated mentions

Observed mentions: 2010-06-08 15:47:35 UTC to 2026-06-09 18:23:39 UTC.

0369122010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20102011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 11 mentions; 4 submissions, 7 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC202
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC202
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC202
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC1147
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC202
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC321
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

2 sources
This is great. One of the reasons I've always liked Phusion Passenger is because of its toolchain. They use a similar method (inspecting smaps) to report Private Dirty RSS for Apache processes and Passenger processes: https://github.com/FooBarWidget/passenger/blob/master/bin/pa... The Passenger utility is difficult to extracate from their package though, because it has several separate class dependencies. It's good software writing technique for a library, but it doesn't make it terribly useful for a shell script.
In Measuring the shared RAM usage of a process
"For the longest time (until 2 months ago) your documentation and website were not clear about it at all. It was simply not mentioned because passenger didn't support it." That's because Phusion Passenger Enterprise and the rolling restart feature were only released 2 months ago. You can't exactly document something that doesn't exist yet, can you? However we've already mentioned as early as last year on the mailing list that there will be a commercial version and that rolling restarts will only be available in there. "The build-system used to be a trainwreck, plain and simple." I do not know what you mean by trainwreck here. Our build system is a simple Rakefile with building rules that invoke the compiler, plus an installer script that invokes Rake. Our build system goes through great pains to autodetect as many things as possible, to a
Read the rest
void burdening the user. It even goes as far as detecting bugs in the system and working around them. You can read some of the source code here: https://github.com/FooBarWidget/passenger/blob/master/lib/ph... https://github.com/FooBarWidget/passenger/tree/master/lib/ph... As far as I know we are the only piece of software in our category trying so hard. But if you are having problems with compilation, we would be happy to help you. "At runtime I've run into more than one failure mode where passenger would get stuck silently, not providing any error message (not quite acceptable for a commercial product)." Alright, here are the facts. Errors are always logged to the web server error log. There are a limited number of known cases in which that does not happen, or does not seem to happen: 1. The user is looking in the wrong file. As strange as this might seem, it actually happens. A classical example involves declaring the Nginx 'error_log' directive inside the 'http' block. This makes Nginx open a log file, and all the Nginx error logging functions write to that file, but it does not redirect stderr to that log file. Since Phusion Passenger usually writes error messages to stderr, the error message does not appear in that file, and the user is confused. The solution is to move the 'error_log' directive outside the 'http' block and into the global context. 2. Sometimes the error is written to stdout. Thanks to weird environment issues on some systems (some OS X versions, I'm looking at you), stdout is sometimes redirected to /dev/null so you don't see the error at all. In Phusion Passenger 4 we've taken more extreme measures to ensure that errors always get logged. For example we forcefully redirect stdout to stderr. If all else fails, we provide a config option with which you can tell Phusion Passenger to redirect its stdout and stderr to a file. If you still encounter cases in which no error is shown, then we consider this a bug and we could be happy to work with you to solve this problem. "These were usually related to the Spawner getting stuck or file/permission issues." So here are the facts again. Phusion Passenger 3 and earlier assume that the app behaves correctly during startup and shutdown. That's why it did not enforce any timeouts on these operations. We have documented this extensively in our blog post "The right way to deal with frozen processes on Unix": http://blog.phusion.nl/2012/09/21/the-right-way-to-deal-with... However, starting from Phusion Passenger 4, we've much improved in this area. Application processes now have a 1 minute limit to start. Otherwise, they are killed with SIGKILL. Similarly, when you shut down the web server, the Watchdog now kills all application processes with SIGKILL after a short timeout, to ensure that no garbage processes stay behind. If you still find the spawner getting stuck in Phusion Passenger 4, then we consider this to be a bug and we would be happy to help you get to the bottom of this. I do not know what you mean by file or permission issues, but again, we would be happy to help you. "I also once had a deployment where merely running 'passenger-status' would inexplicably hang the running passenger!" There was in issue in the 2.0 series where passenger-status could corrupt internal data structures because a mutex was not being properly locked, but this has been solved later in the 2.0 series. If this was not your issue, then we would be happy to help. "In general, when people sit down and write training-wheels[1] for your product, then you might want to strike a tad more humble tone in a hacker-forum." The training wheels you mention predate Phusion Passenger Enterprise. Similar training wheels exist for other app servers. However the existence of these training wheels are not an indication of quality. Remember the Mongrel days and that people had to monitor them using monit? This was not because of a flaw in Mongrel itself, it was the apps and the libraries that caused crashes, memory leaks, etc. Mongrel lacked protection against these kind of things, and as a result got blamed for a lot of problems, but Mongrel was certainly not the cause of these problems. Similarly, Phusion Passenger only offered limited protection against externally-caused problems. However with Phusion Passenger 4 and Phusion Passenger Enterprise, we are moving more and more towards supervising every single aspect of the system and making sure that things work even in the event of external problems. We do not, and have never, claimed that our products were without flaws. However we are committed to fixing any flaws with continuing to add awesome features. And by charging money we are in a much stronger position to commit to this.
In Phusion Passenger 4.0 beta 1 is here

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.