2016-02-05 4 views
0

Я не знаю, чего именно я не вижу. Вот то, что я до сих пор:Ошибка: ImportError при развертывании приложения Flask в файле wsgi

WSGI

/opt/tools/apps/scheduler/scheduler.wsgi

Его содержание

from scheduler import app as application 

init.py

/opt/tools/apps/scheduler/scheduler/__init__.py

Ошибка в Apache Вход

[Thu Feb 04 21:54:30 2016] [error] [client 10.57.136.99] mod_wsgi (pid=45485): Target WSGI script '/opt/tools/apps/scheduler/scheduler.wsgi' cannot be loaded as Python module. 
[Thu Feb 04 21:54:30 2016] [error] [client 10.57.136.99] mod_wsgi (pid=45485): Exception occurred processing WSGI script '/opt/tools/apps/scheduler/scheduler.wsgi'. 
[Thu Feb 04 21:54:30 2016] [error] [client 10.57.136.99] Traceback (most recent call last): 
[Thu Feb 04 21:54:30 2016] [error] [client 10.57.136.99] File "/opt/tools/apps/scheduler/scheduler.wsgi", line 1, in <module> 
[Thu Feb 04 21:54:30 2016] [error] [client 10.57.136.99]  from scheduler import app as application 
[Thu Feb 04 21:54:30 2016] [error] [client 10.57.136.99] ImportError: No module named scheduler 

wsgi.conf

/etc/httpd/conf.d

LoadModule wsgi_module modules/mod_wsgi.so 
WSGIPythonHome /opt/tools 
WSGISocketPrefix run/wsgi 

WSGIDaemonProcess scheduler user=abcd group=efgh processes=4 
WSGIScriptAlias /scheduler /opt/tools/apps/scheduler/scheduler.wsgi 
<Directory /opt/tools/apps/scheduler> 
    WSGIProcessGroup scheduler 
    WSGIApplicationGroup %{RESOURCE} 
    Order deny,allow 
    Allow from all 
</Directory> 

Я последовал Link1 & Link2, но не повезло. Это приложение работало правильно на одном хосте (скажем host-1), и я пытаюсь развернуть его, скажем, host-2.

ответ

1

Поскольку ваше приложение будет запущено как демон, корневой каталог будет установлен в /.

Убедитесь, что каталог проекта добавлен в python PATH или чтобы wsgi запускал приложение по правильному пути.

Ваш scheduler.wsgi должно быть что-то вроде:

# insert application path in python path 
import sys 
sys.path.insert(0, "/opt/tools/apps/scheduler") 

# launch app 
from scheduler import app as application 

также обеспечить апачский пользователя/группы (www-data) имеют доступ к проекту:

chown -R www-data:www-data /opt/tools/apps/scheduler 
+0

Changed 'scheduler.wsgi', как указано выше, и разрешения аналогичен тому, что есть на 'host-1'. :(Но это не сработало. Вы хотите получить дополнительную информацию? –

+2

Поместите 'import os; print (os.getcwd())' вверху вашего скрипта wsgi и покажите, что возвращает Apache-журнал. – Cyrbil

 Смежные вопросы

  • Нет связанных вопросов^_^