mod_wsgi конфигурация с колба

Имам проблем с mod_wsgi и flask. Не съм сигурен какъв е след почти 48 часа опити, най-накрая се отказах и имам нужда от помощ. Всичко изглежда добре и работи правилно. Знам това, защото моят домейн www.example.com пренасочва към example.com/login, ако потребителят не е влязъл.

Когато вляза в example.com, маршрутизирането се случва и мога да видя URL адреса да се променя на example.com/login

Ето моята конфигурация:

killerapp.wsgi:

from main import app as application

и виртуалния хост на apache:

NameVirtualHost *:8080
<VirtualHost *:8080>
 ServerName example.com

 WSGIDaemonProcess killerapp user=apache group=apache threads=5
 WSGIScriptAlias / /var/www/wsgi/killerapp.wsgi

  <Directory /var/www/wsgi>
     WSGIProcessGroup killerapp
     WSGIApplicationGroup %{GLOBAL}
     Order deny,allow
     Allow from all
  </Directory>
</VirtualHost>

През цялото време получавах следната грешка

ImportError: No module named app

когато го направих

chmod 755 app

в папката на приложението получих следното в регистрационния файл, което не показва грешки:

[Wed Nov 06 17:25:29 2013] [info] [client xx.xx.x.xxx] mod_wsgi (pid=3823, process='killerapp', application=''): Loading WSGI script '/var/www/wsgi/killerapp.wsgi

Но все още получавам следната грешка, когато вляза в страницата:

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Подозирам, че това е проблем със собствеността/сигурността, но това е само мое предположение, което не знам на този етап. Ако има някаква помощ, изпълнявам python 2.6.6 на Centos 6.4 и mod_wsgi 3.2.3

Всяка помощ наистина ще бъде оценена. Благодаря ти


person Tkingovr    schedule 06.11.2013    source източник
comment
Изглежда, че имате регистрационен файл за Apache, но не и регистрационен файл от Flask (където най-вероятно възниква грешката). Ако активирате регистриране във флашка, трябва да можете да определите проблема. В противен случай опитайте да стартирате приложението си в режим на отстраняване на грешки, за да видите тези грешки във вашия браузър.   -  person Mark Hildreth    schedule 06.11.2013
comment
Отбележете, че спасявате живота си... Не знам как и защо не ми е минавало през ума отстраняването на грешки в приложението на колба! това е грешка в разрешението, jinja не може да получи достъп до шаблоните в папката с шаблони. Ако можете да напишете това, което предложихте като отговор, ще го отбележа като правилен. Благодаря ви много, наистина го оценявам..Благодаря ви!   -  person Tkingovr    schedule 06.11.2013
comment
Можете сами да напишете отговора, да покажете какво сте направили, за да активирате режима за регистриране или отстраняване на грешки.   -  person Mark Hildreth    schedule 06.11.2013


Отговори (1)


С много благодарности на Марк Хилдрет, че ми показа „начина“, най-накрая успях да видя какъв е проблемът. Това беше проблем с разрешение

В моето приложение на python включих отстраняване на грешки след инициализиране на приложението за колба така:

app = Flask(__name__)
app.debug = True

Това позволи на Flask да покаже съобщенията за грешка в регистъра на грешките на apache. В моя случай проблемът беше, че Jinja не успя да получи достъп до директорията с шаблони, тъй като потребителят на apache не беше зададен като собственик на тази директория, така че следното го поправи:

chown apache:apache templates

Още веднъж заслуги и благодарности отиват на Марк Хилдрет, че ми показа светлината!

person Tkingovr    schedule 06.11.2013