Ruby on Rails Monday, January 14, 2019



On Jan 14, 2019, at 5:35 AM, fugee ohu <fugee279@gmail.com> wrote:



On Sunday, January 13, 2019 at 4:46:52 PM UTC-5, Walter Lee Davis wrote:


On Jan 13, 2019, at 12:38 PM, fugee ohu <fuge...@gmail.com> wrote:

What do I need it for besides being able to restart apps

Passenger is necessary to translate the incoming http request into a connection to your Rails app. 

Even I f you are just developing locally, you will run `rails s` in a console, and that will start a server, usually Puma these days, but you could also run Unicorn or even Webrick if you're feeling nostalgic. 

By itself, Rails is not going to respond to http. 

Passenger and Unicorn are both production grade http adapters, they can deal with things like slow clients or excessive traffic. Webrick (to give a ridiculous counter-example) is single-threaded and will just die under anything more than development click testing load. 

Any of these application servers will want to be fronted by Apache or NGINX to handle static assets and general proxy server duties if you anticipate any sort of real load. My usual production deployment is Apache with the mod_passenger plugin. For really large sites, I will put multiple instances of that stack behind a load balancer, with all instances pointing to the same database server. 

Walter

Rails works with nginx without passenger no? 

Nginx or Apache handle the web connections.  Rails is the app.  You need some 'glue' between the two.  What something like Passenger does is manages the Rails processes and keeps connections with Nginx/Apache efficient and uptime at its most.


Phil

No comments:

Post a Comment