【问题标题】:APACHE-DJANGO-WSGI DeploymentAPACHE-DJANGO-WSGI 部署
【发布时间】:2017-03-30 20:17:21
【问题描述】:

我有一个 django 应用程序位于

/home/user/myapp

我正在尝试使用 apache2 和 WSGI 运行该应用程序。目前,apache2 的配置在 /etc/apache2/apache2.conf 并且这个目录与我的网站有关

    <VirtualHost website.com:80>
   ServerName website.com
   ServerAlias www.website.com
   ServerAdmin email@website.com

   DocumentRoot /home/user/myapp/static

   WSGIScriptAlias / /var/www/website-directory/django.wsgi
   <Directory /home/user/myapp/static>
  Order allow,deny
      Allow from all
   </Directory>

   Alias /robots.txt /var/www/webisite-directory/robots.txt
   Alias /favicon.ico /var/www/webisite-directory/favicon.ico
   Alias /images /home/user/myapp/images
   Alias /static /home/user/myapp/static

   ErrorLog /var/www/webisite-directory/error.log
   CustomLog /var/www/webisite-directory/access.log combined
</VirtualHost>

我的 django.wsgi 是

import os
import sys

sys.path.append('/home/user/myapp')

os.environ['DJANGO_SETTINGS_MODULE'] = '/myapp_directory/settings'
sys.executable = '/usr/lib/python2.7/dist-packages'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

这是我的错误日志

  user@ubuntu:/var/www/website-directory$ vim error.log
[Thu Mar 30 01:25:10.060478 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] self.load_middleware(), referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060490 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 48, in load_middleware, referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060509 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] if settings.MIDDLEWARE is None:, referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060521 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 53, in __getattr__, referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060558 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] self._setup(name), referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060570 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 41, in _setup, referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060585 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] self._wrapped = Settings(settings_module), referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060597 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 97, in __init__, referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060612 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] mod = importlib.import_module(self.SETTINGS_MODULE), referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060624 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module, referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060642 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] __import__(name), referer: http://www.mywebsite
[Thu Mar 30 01:25:10.060705 2017] [wsgi:error] [pid 7235:tid 139856399259392] [client 98.16.70.181:51796] ImportError: Import by filename is not supported., referer: http://www.mywebsite

【问题讨论】:

    标签: python django apache mod-wsgi


    【解决方案1】:

    DJANGO_SETTINGS_MODULE 应该是一个模块,顾名思义,而不是路径。

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

    【讨论】:

    • 感谢您的帮助,现在来弄清楚为什么应用程序还没有加载。
    • 很可能是因为您没有告诉 mod_wsgi 您的项目在哪里进行导入。建议您切换到 mod_wsgi 的守护程序模式,然后使用 python-path 选项到 WSGIDaemonProcess 来说明您的项目代码在哪里。见modwsgi.readthedocs.io/en/develop/user-guides/…
    • 当前的问题是你应该通过调用django.core.wsgi.get_wsgi_application() 来获取application,而不是直接实例化WSGIHandler。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2014-11-24
    • 2019-11-16
    • 2013-01-04
    • 2014-04-11
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多