Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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 在Apache服务器上设置Django项目_Python_Django_Apache - Fatal编程技术网

Python 在Apache服务器上设置Django项目

Python 在Apache服务器上设置Django项目,python,django,apache,Python,Django,Apache,我已经开始了一个项目,我打算在运行Ubuntu的Apache2服务器上进行设置。我已经在本地创建了Django项目的框架,并将其推送到bitbucket上的回购。一位提供服务器的朋友告诉我,Digital Ocean教程可能是一个好的开始,所以我一直在使用它来设置wsgi。我稍微偏离了教程的措辞和步骤,因此我将详细介绍我是如何做到这一点的 我在路径~/public\u html/clupus.com上创建了一个目录,并将其更改为 我已经有了以前的骨架,所以我将它克隆到了当前目录中。路径现在看起来

我已经开始了一个项目,我打算在运行Ubuntu的Apache2服务器上进行设置。我已经在本地创建了Django项目的框架,并将其推送到bitbucket上的回购。一位提供服务器的朋友告诉我,Digital Ocean教程可能是一个好的开始,所以我一直在使用它来设置wsgi。我稍微偏离了教程的措辞和步骤,因此我将详细介绍我是如何做到这一点的

  • 我在路径
    ~/public\u html/clupus.com
    上创建了一个目录,并将其更改为

  • 我已经有了以前的骨架,所以我将它克隆到了当前目录中。路径现在看起来像
    ~/public\u html/clupus.com/clupus
    ,其中clupus是包含项目文件(manage.py等)的目录

  • 我在
    /etc/apache2/sites available/clupus.com
    上创建了一个新的虚拟主机文件,其中包含以下定义:

    <VirtualHost *:80>
        ServerName clupus.com
        ServerAlias www.clupus.com
        WSGIScriptAlias / /home/ubuntu/public_html/clupus.com/clupus.wsgi
    </VirtualHost>
    
  • 最后,我做了
    sudo a2ensite clupus.com
    ,然后是
    sudo服务apache2重新加载
    。当我访问服务器所在的URL时,遇到了默认的欢迎页面。假设我必须取消激活默认页面,我做了
    sudoa2000默认值
    ,然后重新加载,现在可以理解,这给了我500个错误

  • 我的问题是我用来访问Django项目的URL是什么?我觉得我把一切都设置好了,只是没有指向正确的URL


    另外,在
    os.environ['DJANGO\u SETTINGS\u MODULE']='clupus.clupus.SETTINGS'
    行中,如果层次结构是
    ~/public\u html/clupus.com/clupus/clupus/SETTINGS.py
    ,根据您发布的目录列表和您的评论:

    ubuntu@ip-10-137-27-87:~/public_html/clupus.com$ ls ~/public_html/clupus.com/ -la
    total 16
    drwxrwxr-x 3 ubuntu ubuntu 4096 Jan 14 11:13 .
    drwxrwxr-x 3 ubuntu ubuntu 4096 Jan 14 10:38 ..
    drwxr-xr-x 7 ubuntu ubuntu 4096 Jan 14 10:43 clupus
    -rw-rw-r-- 1 ubuntu ubuntu  219 Jan 14 14:09 clupus.wsgi
    ubuntu@ip-10-137-27-87:~/public_html/clupus.com$ 
    
    您应该在此处更改完整路径(您可以使用将
    ~
    (tilde)转换为主路径):


    要解决此问题,请执行以下操作:无法导入设置“clupus.settings”检查var
    DJANGO\u settings\u模块
    。路径
    'clupus.settings'
    应该在更改sys.Path后工作(假设
    settings.py
    位于
    /home/ubuntu/public\u html/clupus.com/clupus/clupus
    目录):


    您确定apache用户有权访问~/public_html/clupus.com吗

    你能做些什么

    ls ~/public_html -la
    ls ~/public_html/clupus.com -la
    

    我已经完成并重新加载了Apache。每当我访问IP时,它仍然会显示内部服务器错误。我应该访问IP的子目录吗?
    ImportError:无法导入设置“clupus.settings”
    我认为它在clupus中寻找一个名为com的python模型,而不是作为一个整体引用它。我从来没有遇到过这样的问题,但请尝试这样做:
    ““clupus.com.settings”
    (注意“和”的区别)我认为向您添加~/public\u html/clupus.com/clupus python路径将解决您的问题。@Nanor尝试更改路径:sys.path.append('/home/ubuntu/public\u html/clupus.com/clupus'))与您的问题无关,但您不应该将Django代码放入
    public\u html
    。sudo usermod-a-G www-data-ubuntuth上述问题已解决。不过,谢谢!
    #sys.path.append('~/public_html/clupus.com'
    sys.path.append('/home/ubuntu/public_html/clupus.com/clupus')
    
    #os.environ['DJANGO_SETTINGS_MODULE'] = 'clupus.clupus.settings'
    os.environ['DJANGO_SETTINGS_MODULE'] = 'clupus.settings'
    
    ls ~/public_html -la
    ls ~/public_html/clupus.com -la