How do I let nginx know I'm using rails?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

How do I let nginx know I'm using rails?

fugee ohu
How do I let nginx know I'm using rails when I'm not using passenger but instead system installed nginx standalone with rails apps

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How do I let nginx know I'm using rails?

Walter Lee Davis
Set up a reverse proxy in nginx, pointed from port [80,443] to whatever port your application server [puma, unicorn, webrick] is listening at.

Walter

> On Aug 15, 2019, at 2:43 PM, fugee ohu <[hidden email]> wrote:
>
> How do I let nginx know I'm using rails when I'm not using passenger but instead system installed nginx standalone with rails apps
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/97FA756E-2A2C-412C-90F0-A3908381E568%40wdstudio.com.
Reply | Threaded
Open this post in threaded view
|

Re: How do I let nginx know I'm using rails?

fugee ohu


On Thursday, August 15, 2019 at 2:51:44 PM UTC-4, Walter Lee Davis wrote:
Set up a reverse proxy in nginx, pointed from port [80,443] to whatever port your application server [puma, unicorn, webrick] is listening at.

Walter

> On Aug 15, 2019, at 2:43 PM, fugee ohu <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="FPYcjlW_AAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">fuge...@...> wrote:
>
> How do I let nginx know I'm using rails when I'm not using passenger but instead system installed nginx standalone with rails apps
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="FPYcjlW_AAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">rubyonra...@googlegroups.com.
> To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com&#39;;return true;">https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com.


 Not exactly the answer I was looking for If I'm using rails with nginx system install, not the passenger nginx module, then how does the nginx webserver know that I'm running RoR apps because the problem is that nginx is looking for resource routes as subdirectories of /public
 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7694b56e-5ae7-49a5-8068-0999acf7da64%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How do I let nginx know I'm using rails?

Walter Lee Davis
NGINX on its own cannot "run" Rails, because it is a simple httpd server. Rails needs an application server -- puma, unicorn, passenger -- to be a bridge between http and Rack protocols. Rails is a Rack application, under all the layers, and cannot host anything all by itself. Don't be confused by the fact that passenger can run as an Apache or NGINX plugin. That's just an implementation detail. Passenger can run as a stand-alone application server, too.

The pattern is this: Application Server starts up, accepts connections at some port, like 12345. NGINX or Apache or whatever Web Server starts up, accepts connections at 80 or 443 or both. A "reverse proxy" is configured in the Web Server configuration, and when a request comes in that matches it, the request is proxied to the Application Server. The response from the Application Server is then proxied back through the Web Server to the requesting browser.

1. Figure out which Application Server you want to use to run your Rails application, and configure it to start at system start, and to restart when you need it to (every time you update your Rails code).
2. Google "how do I configure a reverse proxy in NGINX". Do what you see in the results.

That's how you set this up.

Walter

> On Aug 15, 2019, at 10:03 PM, fugee ohu <[hidden email]> wrote:
>
>
>
> On Thursday, August 15, 2019 at 2:51:44 PM UTC-4, Walter Lee Davis wrote:
> Set up a reverse proxy in nginx, pointed from port [80,443] to whatever port your application server [puma, unicorn, webrick] is listening at.
>
> Walter
>
> > On Aug 15, 2019, at 2:43 PM, fugee ohu <[hidden email]> wrote:
> >
> > How do I let nginx know I'm using rails when I'm not using passenger but instead system installed nginx standalone with rails apps
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> > To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com.
>
>
>  Not exactly the answer I was looking for If I'm using rails with nginx system install, not the passenger nginx module, then how does the nginx webserver know that I'm running RoR apps because the problem is that nginx is looking for resource routes as subdirectories of /public
>  
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7694b56e-5ae7-49a5-8068-0999acf7da64%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/B9495552-9480-4077-BE51-327DDA081F49%40wdstudio.com.
Reply | Threaded
Open this post in threaded view
|

Re: How do I let nginx know I'm using rails?

fugee ohu


On Friday, August 16, 2019 at 6:58:01 AM UTC-4, Walter Lee Davis wrote:
NGINX on its own cannot "run" Rails, because it is a simple httpd server. Rails needs an application server -- puma, unicorn, passenger -- to be a bridge between http and Rack protocols. Rails is a Rack application, under all the layers, and cannot host anything all by itself. Don't be confused by the fact that passenger can run as an Apache or NGINX plugin. That's just an implementation detail. Passenger can run as a stand-alone application server, too.

The pattern is this: Application Server starts up, accepts connections at some port, like 12345. NGINX or Apache or whatever Web Server starts up, accepts connections at 80 or 443 or both. A "reverse proxy" is configured in the Web Server configuration, and when a request comes in that matches it, the request is proxied to the Application Server. The response from the Application Server is then proxied back through the Web Server to the requesting browser.

1. Figure out which Application Server you want to use to run your Rails application, and configure it to start at system start, and to restart when you need it to (every time you update your Rails code).
2. Google "how do I configure a reverse proxy in NGINX". Do what you see in the results.

That's how you set this up.

Walter

> On Aug 15, 2019, at 10:03 PM, fugee ohu <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="HXEBexD0AAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">fuge...@...> wrote:
>
>
>
> On Thursday, August 15, 2019 at 2:51:44 PM UTC-4, Walter Lee Davis wrote:
> Set up a reverse proxy in nginx, pointed from port [80,443] to whatever port your application server [puma, unicorn, webrick] is listening at.
>
> Walter
>
> > On Aug 15, 2019, at 2:43 PM, fugee ohu <[hidden email]> wrote:
> >
> > How do I let nginx know I'm using rails when I'm not using passenger but instead system installed nginx standalone with rails apps
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> > To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com&#39;;return true;">https://groups.google.com/d/msgid/rubyonrails-talk/1aff5f48-504a-426f-96c9-dadefea8025f%40googlegroups.com.
>
>
>  Not exactly the answer I was looking for If I'm using rails with nginx system install, not the passenger nginx module, then how does the nginx webserver know that I'm running RoR apps because the problem is that nginx is looking for resource routes as subdirectories of /public
>  
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="HXEBexD0AAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">rubyonra...@googlegroups.com.
> To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/rubyonrails-talk/7694b56e-5ae7-49a5-8068-0999acf7da64%40googlegroups.com" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/rubyonrails-talk/7694b56e-5ae7-49a5-8068-0999acf7da64%40googlegroups.com&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/rubyonrails-talk/7694b56e-5ae7-49a5-8068-0999acf7da64%40googlegroups.com&#39;;return true;">https://groups.google.com/d/msgid/rubyonrails-talk/7694b56e-5ae7-49a5-8068-0999acf7da64%40googlegroups.com.
 

Certbot was erroring out on Passenger statements in nginx.conf so I decided not to use Passenger anymore, just nginx, I thought I could do that but you say no I can't Is that right? 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/19b4aea2-c641-4a44-b872-2be697d9af28%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How do I let nginx know I'm using rails?

Walter Lee Davis
Passenger is an application server that can either run as a plug-in to a web server, just like fastcgi or mod_php, or as a stand-alone server. When it runs as a stand-alone server, it actually uses an embedded copy of nginx as part of its code—but don’t let that confuse you. It’s still an application server, running as a separate process from the ‘http’ nginx server that is listening for requests from browsers. That ‘http’ server needs to be configured with a reverse proxy to the application server.

And an aside: Passenger is the best-documented, easiest to use application server I have ever used. I would not be so quick to run away from it. Figure out what your certbot issue is and fix that. You have a lot more work ahead of you to use a different approach.

Walter

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/0a33b4a4-c3a5-4f8d-ae54-77840cbfb589%40googlegroups.com.