在apaches上设置Django项目

2024-06-28 20:20:58 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  1. 我在路径~/public_html/clupus.com处创建了一个目录并将其更改为该目录。

  2. 我已经有了一个以前的骨架,所以我将它克隆到当前目录中。路径现在看起来像~/public_html/clupus.com/clupus,其中clupus是包含项目文件的目录(管理.py等等)

  3. 我在/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>
    
  4. 然后,我在~/public_html/clupus.com/clupus.wsgi创建了实际的wsgi文件,其中包含以下配置:

    import os
    import sys
    sys.path.append('~/public_html/clupus.com')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'clupus.clupus.settings'
    import django.core.handlers.wsgi 
    application = django.core.handlers.wsgi.WSGIHandler()
    
  5. 最后我做了sudo a2ensite clupus.com,然后是sudo service apache2 reload。当我访问服务器所在的URL时,我看到了默认的欢迎页面。假设我必须取消激活默认页面,我做了sudo a2dissite 000-default,然后重新加载,现在,可以理解,给我一个500错误。

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

另外,在os.environ['DJANGO_SETTINGS_MODULE'] = 'clupus.clupus.settings'行中,它是clupus.clupus.settings还是仅仅是{},因为层次结构是{}


Tags: 文件项目djangoimport服务器目录comurl
2条回答

根据您发布的目录列表和您的评论:

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$ 

您应该在此处更改完整路径(可以使用^{}~(波浪号)转换为主路径):

^{pr2}$

要修复此问题,ImportError: Could not import settings 'clupus.settings'请检查varDJANGO_SETTINGS_MODULE。路径'clupus.settings'在更改后应该可以工作系统路径(假设settings.py位于/home/ubuntu/public_html/clupus.com/clupus/clupus目录中):

#os.environ['DJANGO_SETTINGS_MODULE'] = 'clupus.clupus.settings'
os.environ['DJANGO_SETTINGS_MODULE'] = 'clupus.settings'

您确定apache用户有~/public\u html的权限吗/clupus.com网站? 在

你能帮我吗

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

相关问题 更多 >