django - apache2 - wsgi - 500

Fórumok

Udv!

Van egy python + django alapu alkalmazas, amit nehany honapja csinalok, es most jott el az ideje, hogy hozzakossem egy apache- hoz. A programmal semmi gond nincs development szervert hasznalva, viszont apache2- vel erdekes dolgokat muvel, 500- as hibat kapok, a logban a traceback vege ez:


[Mon Nov 26 14:29:33 2012] [error] [client 127.0.0.4]   File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module
[Mon Nov 26 14:29:33 2012] [error] [client 127.0.0.4]     __import__(name)
[Mon Nov 26 14:29:33 2012] [error] [client 127.0.0.4] TemplateSyntaxError: Caught ImportError while rendering: No module named common

, viszont a modul rendesen be van importalva, development szerver alatt is megy, no de a kodbol kikommentezve mindent maradt ez a sor a hibas:


cat = Category.objects.filter(szulo = 1)

. Ha ezt atirom erre a sorra:


cat = Category.objects.filter()

, akkor nem kapok 500- as hibat, es minden megy rendesen. A fenti 2 kodsor termeszetesen ipythonban, es development szerverrel is hibatlanul fut.

Igazabol otletem sincs, hogy innen merre tovabb.

Az apache beallitasok:



<VirtualHost *:80>

    ServerName 127.0.0.4
    DocumentRoot /usr/share/foka

    <Directory /usr/share/foka>
        Order allow,deny
        Allow from all
    </Directory>

    WSGIDaemonProcess foka.djangoserver processes=10 threads=20 display-name=%{GROUP}
    WSGIProcessGroup foka.djangoserver

    WSGIScriptAlias / /usr/share/foka/apache/django.wsgi
    ErrorLog ${APACHE_LOG_DIR}/foka-error.log
    LogLevel debug

</VirtualHost>

, illetve a hozza tartozo wsgi file:



import os
import sys

path = '/usr/share'
if path not in sys.path:
    sys.path.insert(0, '/usr/share')

os.environ['DJANGO_SETTINGS_MODULE'] = 'foka.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()


#import foka

.

Barmilyen otletet szivesen fogadok, mert most nem latom at, hogy merre tudnek tovabb menni :- ). Ugye a "gond" az, hogy development szerverrel minden megy.

Koszi a valaszokat.

-----

Meg annyi, hogy ugyanazon a gepen fut mindket szerver, nincs virtualenv, tehat ugyanazokat a programverziokat latjak, az adatbazis is ugyanaz, no es masik gepre atmasolva is ugyanezek a tunetek :- ).

Nyilvan valami apache2 beallitas rossz, de nem tudok rajonni, hogy mi lehet egyaltalan. A fent levo apache2 egy standart debian csomag:

2.2.16-6+squeeze1

.

Hozzászólások

Volt itt ipython meg development szerver... leforditanad ezt a verzioszamok nyelvere? Milyen python verziok vannak, es hol? A development szerver az micsoda? A Django altal felhuzott SimpleHTTPServer (asszem az), vagy valami kulon nginx/akarmicsoda?
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

A develment szerver az az, amit a django "biztosit", tehat

 python manage.py runserver 

:- ).



ii  python                               2.6.6-3+squeeze6                  interactive high-level object-oriented language (default version)
ii  python-django                        1.2.3-3+squeeze1                  High-level Python web development framework
ii  python-mysqldb                       1.2.2-10+b1                       A Python interface to MySQL
ii  mysql-server-5.1                     5.1.49-3                          MySQL database server binaries and system database setup
ii  ipython                              0.10-2                            enhanced interactive Python shell

.

Koszi.
.

A wsgi scriptben a path miert /usr/share? Anno mikor wsgi alatt futtattam djangot ott a django projekt eleresi utjat volt illendo megadni. Egyebkent atalltam gunicorn-ra, szerintem vess ra egy pillantast. :)