Развертывание приложения Django с Apache в Ubuntu 16.04
2448 просмотра
2 ответа
Я ударился головой о приложение, которое будет развернуто на сервере Apache с использованием Ubuntu 16.04. Я подумал, что это может быть проблема неправильной конфигурации на моем сайте, поэтому просто разверните тестовое приложение test_app
и следуйте самым основным инструкциям документации Django, и вот что я вставил в свой /etc/apache2/sites-available/000-default.conf
:
WSGIScriptAlias / /var/www/html/python/test_app/test_app/wsgi.py
#WSGIPythonHome /var/www/html/python/test_app/venv
#WSGIPythonPath /var/www/html/python/test_app
Alias /static/ /var/www/html/python/test_app/static/
<Directory /var/www/html/python/test_app/static>
Order allow,deny
Allow from all
Require all granted
</Directory>
<Directory /var/www/html/python/test_app/test_app>
<Files wsgi.py>
Order allow,deny
Allow from all
Require all granted
</Files>
</Directory>
И я ничего не вижу на localhost
. Я делаю конфигурации правильно?
Вот ошибки, сгенерированные в журнале:
[Mon Mar 20 14:19:16.518151 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] mod_wsgi (pid=12272): Target WSGI script '/var/www/html/python/test_app/test_app/wsgi.py' cannot be loaded as Python module.
[Mon Mar 20 14:19:16.518215 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] mod_wsgi (pid=12272): Exception occurred processing WSGI script '/var/www/html/python/test_app/test_app/wsgi.py'.
[Mon Mar 20 14:19:16.518241 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] Traceback (most recent call last):
[Mon Mar 20 14:19:16.518278 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/var/www/html/python/test_app/test_app/wsgi.py", line 17, in <module>
[Mon Mar 20 14:19:16.518351 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] application = get_wsgi_application()
[Mon Mar 20 14:19:16.518366 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 13, in get_wsgi_application
[Mon Mar 20 14:19:16.518406 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] django.setup(set_prefix=False)
[Mon Mar 20 14:19:16.518421 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 22, in setup
[Mon Mar 20 14:19:16.518462 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
[Mon Mar 20 14:19:16.518476 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 53, in __getattr__
[Mon Mar 20 14:19:16.518571 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] self._setup(name)
[Mon Mar 20 14:19:16.518586 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 41, in _setup
[Mon Mar 20 14:19:16.518605 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] self._wrapped = Settings(settings_module)
[Mon Mar 20 14:19:16.518618 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 97, in __init__
[Mon Mar 20 14:19:16.518634 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] mod = importlib.import_module(self.SETTINGS_MODULE)
[Mon Mar 20 14:19:16.518648 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[Mon Mar 20 14:19:16.518694 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] __import__(name)
[Mon Mar 20 14:19:16.518719 2017] [wsgi:error] [pid 12272:tid 140248747980544] [client 127.0.0.1:50998] ImportError: No module named test_app.settings
Автор: Faizan Ali
Источник
Размещён: 28.08.2019 11:09
Ответы (2)
0 плюса
Итак, наконец .. Я понял это! Спасибо за помощь ребята.
Как написано в моей первой строке в журнале ошибок:
'/var/www/html/python/test_app/test_app/wsgi.py' cannot be loaded as Python module.
это означает, что wsgi.py
не было доступно для модуля Apache. Я искал это здесь и получил решение .
Итак, по моему wsgi.py
, я добавил это:
import os, sys
from django.core.wsgi import get_wsgi_application
sys.path.append('/var/www/html/python/test_app')
и это сработало.
Автор: Faizan Ali Размещён: 20.03.2017 09:460 плюса
<VirtualHost *:80>
ServerName programmerlab.com # this ll be your domain name
WSGIDaemonProcess programmerlab.com python-path=/var/www/html/gautam.tech:/var/www/html/programmerlab.com/env/lib/python3.6/site-packages
WSGIProcessGroup programmerlab.com
#Your static files location
Alias /static /var/www/html/programmerlab.com/portfolio/static
<Directory /var/www/html/programmerlab.com/portfolio/static>
Require all granted
</Directory>
<LocationMatch "\.(jpg|gif|png|js|css)$">
SetHandler None
</LocationMatch>
WSGIScriptAlias / /var/www/html/programmerlab.com/myproject/wsgi.py
DocumentRoot /var/www/html/programmerlab.com
<Directory /var/www/html/programmerlab.com/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Чтобы узнать о пути Python просто введите
какой питон
на терминале.
Эта настройка vhost полностью протестирована, и это сработает наверняка.
Автор: Kundan roy Размещён: 08.07.2019 10:46Вопросы из категории :
- django Использование виджетов времени / даты в Django в произвольной форме
- django Django + FCGID на Fedora Core 9 - что мне не хватает?
- django Грязные поля в джанго
- django Есть ли простой способ заполнить SlugField из CharField?
- django Захват параметров URL в запросе. GET
- apache Заставьте XAMPP / Apache обслуживать файл вне htdocs
- apache Настроить Apache для локальной разработки / тестирования?
- apache Подстановочные знаки в файле хоста Windows
- apache Какой лучший движок XSLT для Perl?
- apache Ошибка Bad Gateway 502 с Apache mod_proxy и Tomcat
- mod-wsgi ошибка: не может начать новую тему
- mod-wsgi Перенаправить stdout и stderr в файл в Django с помощью wsgi
- mod-wsgi Проект Django (apache, mod_wsgi) не может импортировать пакеты пространства имен
- mod-wsgi Невозможно загрузить целевой WSGI-скрипт в качестве модуля Python
- mod-wsgi Нужна помощь в выявлении утечки памяти, связанной с matplotlib и колбой
- django-wsgi Setting up Django on AWS Elastic Beanstalk: WSGIPath not found
- django-wsgi Django перестает работать с RuntimeError: populate () не реентерабелен
- django-wsgi Django :: OperationalError в / admin / login / не может открыть файл базы данных
- django-wsgi Параметры uwsgi --wsgi-файл и - модуль не распознаются