Apache,Django和Mod_WSGI问题

时间:2016-07-06 15:00:55

标签: python django apache mod-wsgi

[解决] 我做了设置,从runserver替换为apache 。你可以在下面注意到。 Django应用程序不会在apache上运行。你能指导我吗?

mod_wsgi安装时没有任何问题,我可以在运行index.py并使用以下代码时检查它:

def application(environ, start_response):
     start_response('200 OK',[('Content-type','text/html')])
     return ['<html><body>Hello World!</body></html>']

我有一个基于startproject,startapp,makemigrations,migrate构建的Django默认应用程序,并且在python webserver(runserver)上正常运行。 www.host.com:8000/admin。我的意思是,Django Dev Server运行良好。

我想在Apache上运行Django。

的httpd.conf

<Directory /var/www/html>
  Options +ExecCGI
  AddHandler wsgi-script .wsgi .py
</Directory>

<Directory /var/www/VEnvs/valoreiovenv/djangoproj/djangoproj>
  Options +ExecCGI
  AddHandler wsgi-script .wsgi .py
</Directory>

<VirtualHost *:80>
  WSGIDaemonProcess contacts python-path=/var/www/VEnvs/valoreiovenv/djangoproj:/var/www/VEnvs/valoreiovenv/lib/python3.5/site-packages
  WSGIProcessGroup contacts

  WSGIScriptAlias /contacts /var/www/VEnvs/valoreiovenv/djangoproj/djangoproj/wsgi.py

  ServerName contacts
  <Directory /var/www/VEnvs/valoreiovenv/djangoproj/djangoproj>
     <Files wsgi.py>
      Require all granted
     </Files>
  </Directory>

  Alias /static/ /var/www/VEnvs/valoreiovenv/djangoproj/static
  <Directory  /var/www/VEnvs/valoreiovenv/djangoproj/static>
      Require all granted
  </Directory>
</VirtualHost>

/var/www/VEnvs/proj/djangoproj/djangoproj/wsgi.py文件

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoproj.settings")
application = get_wsgi_application()

urls.py

from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

当我跑:www.host.com/contacts : 404未找到 在此服务器上找不到请求的URL /联系人。

你可以帮我吗?

版本:

Python 3.5.1 over virtualenv 15.0.2; 
Django 1.9.6; 
Apache (httpd) 2.4.6 over RedHat.
mod_wsgi 3.4.12

修改 我解决了关于的问题: 在此服务器上找不到请求的URL /联系人。 谢谢大家!

0 个答案:

没有答案