Python 在Amazon AWS服务器的Apache上使用Django mod_wsgi部署时出错

Python 在Amazon AWS服务器的Apache上使用Django mod_wsgi部署时出错,python,django,apache,mod-wsgi,Python,Django,Apache,Mod Wsgi,将AWS微实例与Redhat 7、默认python 2.7.5、django 1.7一起使用。部署简单的mysite项目会抛出以下错误 禁止 您没有访问/访问此服务器的权限 下面是用于创建和部署django项目的简单过程 Using username "ec2-user". Authenticating with public key "imported-openssh-key" Last login: Fri Sep 26 10:43:08 2014 from 14.141.162.198 [

将AWS微实例与Redhat 7、默认python 2.7.5、django 1.7一起使用。部署简单的mysite项目会抛出以下错误

禁止

您没有访问/访问此服务器的权限

下面是用于创建和部署django项目的简单过程

Using username "ec2-user".
Authenticating with public key "imported-openssh-key"
Last login: Fri Sep 26 10:43:08 2014 from 14.141.162.198
[ec2-user@ip-172-31-1-245 ~]$ mkdir django
[ec2-user@ip-172-31-1-245 ~]$ cd django
[ec2-user@ip-172-31-1-245 django]$ django-admin startproject mysite
[ec2-user@ip-172-31-1-245 django]$ cd mysite/
[ec2-user@ip-172-31-1-245 mysite]$ mkdir apache
下面是django.wsgi的内容

[ec2-user@ip-172-31-1-245 mysite]$ vim apache/django.wsgi

import os, sys
sys.path.append('/home/ec2-user/django')
sys.path.append('/home/ec2-user/django/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
以下是文件的权限

[ec2-user@ip-172-31-1-245 django]$ cd /home/ec2-user/
[ec2-user@ip-172-31-1-245 ~]$ ls -lR django
django:
total 0
drwxrwxr-x. 4 ec2-user ec2-user 48 Sep 26 13:51 mysite

django/mysite:
total 4
drwxrwxr-x. 2 ec2-user ec2-user  24 Sep 26 13:53 apache
-rwxr-xr-x. 1 ec2-user ec2-user 249 Sep 26 13:50 manage.py
drwxrwxr-x. 2 ec2-user ec2-user  70 Sep 26 13:50 mysite

django/mysite/apache:
total 4
-rw-rw-r--. 1 ec2-user ec2-user 251 Sep 26 13:53 django.wsgi

django/mysite/mysite:
total 12
-rw-r--r--. 1 ec2-user ec2-user    0 Sep 26 13:50 __init__.py
-rw-r--r--. 1 ec2-user ec2-user 2042 Sep 26 13:50 settings.py
-rw-r--r--. 1 ec2-user ec2-user  275 Sep 26 13:50 urls.py
-rw-r--r--. 1 ec2-user ec2-user  387 Sep 26 13:50 wsgi.py
下面是添加到apache配置文件的附加配置

[ec2-user@ip-172-31-1-245 ~]$ sudo vim /etc/httpd/conf/httpd.conf

<VirtualHost *:80>

ServerName www.example.com
ServerAlias www.example.com

WSGIScriptAlias / /home/ec2-user/django/mysite/apache/django.wsgi

<Directory /home/ec2-user/django/mysite/apache>
      Order allow,deny
      Allow from all
</Directory>

</VirtualHost>

请帮助解决权限问题。如果您需要任何其他信息,也请告诉我。

您不需要创建apache/django.wsgi文件-django可以在mysite/mysite/wsgi.py中为您创建。@Daniel将http.conf更改为使用wsgi.py,如下所示,也会出现同样的错误。ServerName www.example.com ServerAlias www.example.com WSGIDaemonProcess exampleapp python path=/home/ec2 user/django/mysite WSGIProcessGroup exampleapp WSGIScriptAlias//home/ec2 user/django/mysite/wsgi.py订单允许、拒绝允许将项目保留在主目录中可能导致此类问题。从Graham Dumpleton观看此内容以了解更多信息(特别是幻灯片9)。@HarunPrasad是的,我不是说这是你的问题,这就是为什么我只将其作为评论发布。你是否为项目文件夹运行了权限更改代码?”sudo chown:www-data~/myproject'
[ec2-user@ip-172-31-1-245 ~]$ sudo service httpd restart
Redirecting to /bin/systemctl restart  httpd.service