I am using nginx and running fcgi protocol using golang's fcgi module. How can I respawn my fcgi process automatically by nginx ?
My nginx.conf looks like
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; } }
From the docs
Unlike Apache or Lighttpd, Nginx does not automatically spawn FCGI processes. You must start them separately.
So you'll need to use an OS facility to do that.
My favourite is supervisord but there are lots of other ways of doing it.
There isn't a go way of restarting a process when it dies as far as I know