Django+;Apache-wsgi故障

Django+;Apache-wsgi故障,django,apache,configuration,wsgi,Django,Apache,Configuration,Wsgi,我一直在本地使用Django,现在我正试图在运行()的Ubuntu服务器上将一些代码推送到Apache生产环境中 但是,我只得到目录中的文件列表,其他什么都没有。首先,我通过在终端运行命令Python来确保Python已安装 我使用以下命令安装了Apache和mod wsgi: sudoapt安装apache2 sudo apt get安装libapache2 mod wsgi 我已经测试过了,看看它是否被启用 这是我的wsgi文件firstweb.wsgi,它位于根目录中: import os

我一直在本地使用Django,现在我正试图在运行()的Ubuntu服务器上将一些代码推送到Apache生产环境中

但是,我只得到目录中的文件列表,其他什么都没有。首先,我通过在终端运行命令Python来确保Python已安装

我使用以下命令安装了Apache和mod wsgi:

sudoapt安装apache2 sudo apt get安装libapache2 mod wsgi

我已经测试过了,看看它是否被启用

这是我的wsgi文件firstweb.wsgi,它位于根目录中:

import os
import sys
sys.path.append('/var/www/firstweb')
os.environ['DJANGO_SETTINGS_MODULE'] = 'firstweb.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
这是我的第一个web.conf文件:

<VirtualHost *:80>

WSGIScriptAlias / /firstweb.wsgi

Alias /static /var/www/firstweb/static 

<Directory /var/www/firstweb/>
Order allow,deny
Allow from all 
</Directory>

</VirtualHost>

尝试按如下方式配置virtualhost:

 <Directory /var/www/firstweb/static>
   Order allow,deny
    Option Indexes
    Allow from all 
  </Directory>

   WSGIScriptAlias / /full-system-path-to/firstweb/wsgi.py

命令允许,拒绝
期权指数
通融
WSGIScriptAlias//firstweb/wsgi.py的完整系统路径

如果这不起作用-只需更改目录标记并像上面一样在末尾添加static-我认为不添加static,它会显示目录中的文件,就像配置virtualhost一样:

<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/production/myApp

<Directory />
    Order Deny,Allow
    Deny from all
    Options None
    AllowOverride None
</Directory>
<Directory /var/production/myApp>
    Options None
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

WSGIDaemonProcess mysite.com python-path=/var/production/myApp:/var/production/myApp/venv/lib/python2.7/site-packages
WSGIProcessGroup misite.com
WSGIScriptAlias / /var/production/myApp/myApp/wsgi.py

Alias /static   /var/production/myApp/static

<Directory /var/production/myApp/static>
    Options None
    AllowOverride None
    Order Allow,Deny
    Allow from all
</Directory>

服务器名mysite.com
ServerAlias www.mysite.com
DocumentRoot/var/production/myApp
命令拒绝,允许
全盘否定
选项无
不允许超限
选项无
不允许超限
命令允许,拒绝
通融
WSGIDaemonProcess mysite.com python路径=/var/production/myApp:/var/production/myApp/venv/lib/python2.7/site-packages
WSGIProcessGroup misite.com
WSGIScriptAlias//var/production/myApp/myApp/wsgi.py
别名/static/var/production/myApp/static
选项无
不允许超限
命令允许,拒绝
通融

将“/var/production/myApp”替换为您的应用程序路径


如果您需要更多帮助,请查看此问题1:您是否启用了wsgi mod

sudo a2enmod mod-wsgi
问题2:AddHandler语句在哪里

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AddHandler cgi-script .cgi
    AddHandler wsgi-script .wsgi
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

选项索引跟随符号链接多视图执行CGI
AddHandler cgi script.cgi
AddHandler wsgi script.wsgi
不允许超限
命令允许,拒绝
通融

我认为apache不知道如何将
.wsgi
文件关联到wsgi应用程序。

你能看看你的apache日志吗?应该在/var/logs/httpd或/var/logs/apache下。我看过:/var/log/apache2/有三个文件,我已经检查了错误日志,除了python版本不匹配之外,我看不到任何明显的东西:向我们展示——以及测试时的屏幕——它看起来像什么?itI不起作用的地方我已经添加了日志,输出应该是Django应用程序,正如您在24:02的视频中所看到的,但它只是显示目录中的文件,好像它没有执行python这里是
firstweb.conf
文件?不,这给了我一个关于选项索引的错误,所以我删除了它。我还将整个项目从web目录移到了我的主目录(/home/ubuntu/firstweb),我尝试以各种方式重新编写所有内容,但没有结果。我也从www文件夹中删除了firstweb目录。除了常规的索引页面之外,我没有从wsgi/apache获得任何信息。如果你想看看他们还做了什么,我的信息就是从这里获得的。
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AddHandler cgi-script .cgi
    AddHandler wsgi-script .wsgi
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>