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