Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to investigate web script not running?

31 views
Skip to first unread message

Gilles

unread,
Sep 28, 2012, 7:37:36 AM9/28/12
to
Hello

I'm trying to run my very first FastCGI script on an Apache shared
host that relies on mod_fcgid:
==============
#!/usr/bin/python
from fcgi import WSGIServer
import cgitb

# enable debugging
cgitb.enable()

def myapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World!\n']

WSGIServer(myapp).run()
==============

After following a tutorial, Apache complains with the following when I
call my script:
==============
Internal Server Error

The server encountered an internal error or misconfiguration and was
unable to complete your request.
==============

Generally speaking, what tools are available to investigate issues
when running a Python web app?

Thank you.

Gilles

unread,
Sep 28, 2012, 8:13:51 AM9/28/12
to
On Fri, 28 Sep 2012 13:37:36 +0200, Gilles <nos...@nospam.com> wrote:

>==============
>Internal Server Error
>
>The server encountered an internal error or misconfiguration and was
>unable to complete your request.
>==============

Looks like fcgi.py doesn't support WSGI:

Traceback (most recent call last):
File "hello.fcgi", line 2, in ?
from fcgi import WSGIServer
ImportError: cannot import name WSGIServer

Michael Ross

unread,
Sep 28, 2012, 8:16:22 AM9/28/12
to pytho...@python.org
On Fri, 28 Sep 2012 13:37:36 +0200, Gilles <nos...@nospam.com> wrote:

> Hello
>
> I'm trying to run my very first FastCGI script on an Apache shared
> host that relies on mod_fcgid:
> ==============
> #!/usr/bin/python
> from fcgi import WSGIServer
> import cgitb
>
> # enable debugging
> cgitb.enable()
>
> def myapp(environ, start_response):
> start_response('200 OK', [('Content-Type', 'text/plain')])
> return ['Hello World!\n']
>
> WSGIServer(myapp).run()
> ==============
>
> After following a tutorial, Apache complains with the following when I
> call my script:
> ==============
> Internal Server Error
>
> The server encountered an internal error or misconfiguration and was
> unable to complete your request.
> ==============


Do it the other way around:

# cgitb before anything else
import cgitb
cgitb.enable()

# so this error will be caught
from fcgi import WSGIServer



Regards,
Michael

Gilles

unread,
Sep 28, 2012, 9:15:40 AM9/28/12
to
On Fri, 28 Sep 2012 14:16:22 +0200, "Michael Ross" <g...@ross.cx>
wrote:
>Do it the other way around:
>
># cgitb before anything else
>import cgitb
>cgitb.enable()
>
># so this error will be caught
> from fcgi import WSGIServer

Thanks much for the tip. The error isn't displayed when calling the
script from a web browser but it is when running the script on a shell
account.

It looks like that newer version of fcgi.py doesn't include support
for WSGI, and I need some extra (Flup?) software to sit between
mod_fcgid and a WSGI Python application.

Definitely not plug 'n play :-/

Ramchandra Apte

unread,
Sep 29, 2012, 1:05:25 PM9/29/12
to
Well the plug and play standard is superseded by USB practically.

Gilles

unread,
Sep 30, 2012, 5:55:02 AM9/30/12
to
On Sat, 29 Sep 2012 10:05:25 -0700 (PDT), Ramchandra Apte
<manian...@gmail.com> wrote:
>> Definitely not plug 'n play :-/
>
>Well the plug and play standard is superseded by USB practically.

Indeed ;-)

Anyway, Support finally got back to me, and it turns out that they
have Flup alreay installed on shared hosts, so I just have to provide
a WSGI script. OTOH, mod_fcgid is confured to wait 5mn or so before
checking if the script was edited, so I'll have to use a test host for
development and only use the shared host for deployment.

Thank all.
0 new messages