If you're talking about Apache mod_fastcgi, I agree that its built-in process management is convenient but if you give up a little convenience, you get some rewards in return.<br>1) Separation of concerns - let web servers manage requests and connections and let process managers do process management. It keeps both simpler.<br>
2) If you use a process manager like supervisord, you can use it to manage any kind of daemon you may want to run, not just FastCGI daemons.<br><br>You could consider using a process manager to spawn both nginx and your FastCGI daemons. Then you have one place to start and stop everything.<br>
<br><div class="gmail_quote">On Tue, Oct 20, 2009 at 5:27 PM, jlist9 <span dir="ltr"><<a href="mailto:jlist9@gmail.com">jlist9@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The web server I used before actually has options for both remote and local<br>
scenarios. For back-end process running locally, the web server can start<br>
the processes.<br>
<br>
On Unix servers, it will also use a Unix domain socket to communicate<br>
with the back-end process, which is faster than a network socket.<br>
<br>
I just thought this was very nice since I have one less thing to worry<br>
about. Starting the web server will start the back-end processes and<br>
stopping the web server will stop the back-end processes.<br>
<div><div></div><div class="h5"><br>
On Tue, Oct 20, 2009 at 3:12 AM, Denis F. Latypoff <<a href="mailto:denis@gostats.ru">denis@gostats.ru</a>> wrote:<br>
> Hello jlist9,<br>
><br>
> Tuesday, October 20, 2009, 3:26:24 PM, you wrote:<br>
><br>
>> Hi,<br>
><br>
>> My understand is that nginx doesn't launch a process, being it a CGI process<br>
>> or FastCGI back-end server. I wonder what are the reasons behind this decision.<br>
>> I used to use another web server that takes care of launching FastCGI processes.<br>
><br>
>> The nice thing about it is that the web server checks if a backend process is<br>
>> running. If not, it automatically starts it. This means, for whatever reason if<br>
>> the backend process crashes, it will be re-launched. Also, the web server<br>
>> gets to control how many back-end server processes to start, according<br>
>> to the conf file. With this managing the processes is really easy, because<br>
>> it's all managed by the web server.<br>
><br>
>> This is a very handy feature. Any chance of having this in nginx?<br>
><br>
> What if I have nginx running on server A, and many fastcgi backends<br>
> running on servers B-Z?<br>
><br>
>> Thanks,<br>
>> Jack<br>
><br>
><br>
><br>
> --<br>
> Best regards,<br>
> Denis mailto:<a href="mailto:denis@gostats.ru">denis@gostats.ru</a><br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br>