If you&#39;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">&lt;<a href="mailto:jlist9@gmail.com">jlist9@gmail.com</a>&gt;</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 &lt;<a href="mailto:denis@gostats.ru">denis@gostats.ru</a>&gt; wrote:<br>
&gt; Hello jlist9,<br>
&gt;<br>
&gt; Tuesday, October 20, 2009, 3:26:24 PM, you wrote:<br>
&gt;<br>
&gt;&gt; Hi,<br>
&gt;<br>
&gt;&gt; My understand is that nginx doesn&#39;t launch a process, being it a CGI process<br>
&gt;&gt; or FastCGI back-end server. I wonder what are the reasons behind this decision.<br>
&gt;&gt; I used to use another web server that takes care of launching FastCGI processes.<br>
&gt;<br>
&gt;&gt; The nice thing about it is that the web server checks if a backend process is<br>
&gt;&gt; running. If not, it automatically starts it. This means, for whatever reason if<br>
&gt;&gt; the backend process crashes, it will be re-launched. Also, the web server<br>
&gt;&gt; gets to control how many back-end server processes to start, according<br>
&gt;&gt; to the conf file. With this managing the processes is really easy, because<br>
&gt;&gt; it&#39;s all managed by the web server.<br>
&gt;<br>
&gt;&gt; This is a very handy feature. Any chance of having this in nginx?<br>
&gt;<br>
&gt; What if I have nginx running on server A, and many fastcgi backends<br>
&gt; running on servers B-Z?<br>
&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Jack<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best regards,<br>
&gt;  Denis                            mailto:<a href="mailto:denis@gostats.ru">denis@gostats.ru</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br>