Django application with fcgi only works in non-demonized mode

I apologize if this is an obvious problem, but I'm really on my way trying to figure it out.

I have a Django application that I run as a fcgi process, and with Lighttpd as the front server.

First I tried to start the Django FCGI process, as suggested in the documentation (shown below)

python ./manage.py runfcgi method=threaded host=127.0.0.1 port=9030 

However, when I try to access the application from my web browser, I get a "Not Available" message.

Then I tried to start the fcgi process in non-demonized mode (hoping to see some error messages on the screen), and this time I was able to access the application from my browser, and everything worked fine .

 python ./manage.py runfcgi method=threaded host=127.0.0.1 port=9030 daemonize=false 

I experience this strange behavior on the server, while everything works fine on my local development machine, even when the fcgi process is demonized.

I also tried using 'prefork' instead of the threaded method, but that doesn't help either.

I place the relevant parts of my Lighttpd configuration file, although I doubt that something is wrong with it ...

 $HTTP["host"] == "ideas.mydomain.com" { debug.log-request-handling = "enable" fastcgi.debug = 1 fastcgi.server = ( "/ideas.fcgi" => ( "main" => ( "host" => "127.0.0.1", "port" => 9030, "check-local" => "disable", ) ), ) url.rewrite-once = ( "^(/.*)$" => "/ideas.fcgi$1", ) } 

The error log from Lighttpd has these 2 lines, which show that it is really trying to connect to the fcgi process.

 2012-02-28 08:48:49: (mod_fastcgi.c.3071) got proc: pid: 0 socket: tcp:127.0.0.1:9030 load: 1 2012-02-28 08:48:49: (mod_fastcgi.c.1492) released proc: pid: 0 socket: tcp:127.0.0.1:9030 load: 0 

Does anyone know what could go wrong? I do not see any debug logs related to fcgi, even if I have debug = true in the command line options to run fcgi. Do I need to do anything to see debug logs in the fcgi process?

Thanks, any help is appreciated.

+4
source share
1 answer

I would start by enabling debugging in config lighthttpd and also set fastcgi.debug = 1 .

When you turn on all logging and debugging, try accessing the site to save errors in the logs. Then you need to check the main error log.

The default is /var/log/lighttpd/error.log .

+1
source

Source: https://habr.com/ru/post/1398011/


All Articles