Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 客户端被服务器配置拒绝_Python_Django_Apache_Mod Wsgi - Fatal编程技术网

Python 客户端被服务器配置拒绝

Python 客户端被服务器配置拒绝,python,django,apache,mod-wsgi,Python,Django,Apache,Mod Wsgi,我正在尝试通过apache和mod_wsgi文件设置django项目。但是我得到了这个错误客户端被服务器配置:/home/ghrix/production拒绝。我在谷歌上搜索了这个错误,找到了很多解决方案,但都不管用 我的代码如下: production.wsgi import os import sys sys.path = ['/home/ghrix/myproject/'] + sys.path os.environ['DJANGO_SETTINGS_MODULE'] = 'confi

我正在尝试通过apache和mod_wsgi文件设置django项目。但是我得到了这个错误
客户端被服务器配置:/home/ghrix/production
拒绝。我在谷歌上搜索了这个错误,找到了很多解决方案,但都不管用

我的代码如下:

production.wsgi

import os
import sys


sys.path = ['/home/ghrix/myproject/'] + sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings'


import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
production.conf文件:

<VirtualHost *:80>
WSGIScriptAlias / /home/ghrix/production.wsgi

ServerName firstweb.com
ServerAlias firstweb.com

Alias /static/ /home/ghrix/myproject/static/
 <Directory /home/ghrix/myproject/ >
            Options Indexes FollowSymLinks
            WSGIProcessGroup production
            WSGIApplicationGroup %{GLOBAL}
            Require all denied
 </Directory>
</VirtualHost>

WSGIScriptAlias//home/ghrix/production.wsgi
ServerName firstweb.com
ServerAlias firstweb.com
别名/static//home/ghrix/myproject/static/
选项索引跟随符号链接
WSGIProcessGroup生产
WSGIApplicationGroup%{GLOBAL}
要求全部拒绝

我通过做两个更改解决了这个问题: 1) 要求全部拒绝->将此更改为->要求全部授予 2) 如果您查看由您创建的项目,您的项目目录中已经有一个
wsgi.py
文件(默认情况下设置所在的目录相同),因此您不必像我最初创建的那样创建单独的wsgi文件。只需将apache2中conf文件中的wsgi.py作为

WSGIScriptAlias/

就这样,你的错误被解决了。但是,如果在此之后您再次遇到一个错误,您的设置模块未找到,则您必须编辑wsgi文件并添加两行代码:

import sys
sys.path = ['<path to my project>'] + sys.path
导入系统 sys.path=['']+sys.path 就这样,您的项目现在将顺利运行

因此,完整的wsgi和conf文件如下所示:

wsgi.py文件:

import os
import sys

sys.path = ['<path to my project>'] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "conf.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
导入操作系统
导入系统
sys.path=['']+sys.path
setdefault(“DJANGO\u设置\u模块”、“conf.SETTINGS”)
从django.core.wsgi导入获取\u wsgi\u应用程序
application=get\u wsgi\u application()
和conf文件:

<VirtualHost *:80>
WSGIScriptAlias / /<path to my project>/wsgi.py

ServerName secondweb.com
ServerAlias secondweb.com

Alias /static/ /<path to my project>/static/
<Directory /<path to my project>/ >
            Options Indexes FollowSymLinks
            Require all granted
</Directory>
</VirtualHost>

WSGIScriptAlias///wsgi.py
ServerName secondweb.com
ServerAlias secondweb.com
别名/static///static/
选项索引跟随符号链接
要求所有授权