我正在使用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; } }
答案 0 :(得分:3)
来自the docs
与Apache或Lighttpd不同,Nginx不会自动生成FCGI 流程。你必须单独启动它们。
因此,您需要使用操作系统来实现这一目标。
我最喜欢的是supervisord,但还有很多其他方法可以做到。
据我所知,当它死亡时,没有一种重新启动过程的方法
答案 1 :(得分:0)
我建议使用uwsgi来管理fcgi进程。它能够产生大量准备输入的工作进程,并在它们死亡时重新启动它们。高度可配置,易于安装和使用。
http://uwsgi-docs.readthedocs.org/en/latest/
我有选项worker-exec,假脱机程序,进程,协议,启用线程和主集。