Развертывание приложения Django с Apache в Ubuntu 16.04

django apache mod-wsgi django-wsgi

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:46

0 плюса

<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
Вопросы из категории :
32x32