nginx自动重生fastcgi进程?

时间:2014-02-24 12:38:29

标签: nginx go fastcgi

我正在使用nginx并使用golang's fcgi module运行fcgi协议。如何通过nginx自动重新生成我的fcgi进程?

我的nginx.conf看起来像

server {
    listen 80;
    server_name 127.0.0.1;
    root /home/jdk2588/testdir;
    index index.html;   
    location / {
        access_log  /home/jdk2588/KARMA/nginx/access.log;
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Scheme $scheme;
    }
    location ~ /goapp {
        include         fastcgi.conf;
        fastcgi_pass    127.0.0.1:9001;
    }
}

2 个答案:

答案 0 :(得分:3)

来自the docs

  

与Apache或Lighttpd不同,Nginx不会自动生成FCGI   流程。你必须单独启动它们。

因此,您需要使用操作系统来实现这一目标。

我最喜欢的是supervisord,但还有很多其他方法可以做到。

据我所知,当它死亡时,没有一种重新启动过程的方法

答案 1 :(得分:0)

我建议使用uwsgi来管理fcgi进程。它能够产生大量准备输入的工作进程,并在它们死亡时重新启动它们。高度可配置,易于安装和使用。

http://uwsgi-docs.readthedocs.org/en/latest/

我有选项worker-exec,假脱机程序,进程,协议,启用线程和主集。