首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django项目不支持Apache和mod-wsgi

Django项目不支持Apache和mod-wsgi
EN

Stack Overflow用户
提问于 2015-07-30 17:36:39
回答 1查看 3K关注 0票数 1

我在DigitalOcean上创建了一个droplet (云服务器),并使用no-ip.com将其主机名- project.ddns.net.By ssh(ing)添加到安装了pip和virtualenv的droplet中。

在/var/www/中,我创建了一个虚拟环境并从github克隆了存储库,我的project.The目录结构是-

代码语言:javascript
复制
project_revamped  (root of the project)
->requirements
  ->base.txt
  ->dev.txt
->project (django project)
   ->static
   ->media
   ->apps (folder which contains apps)
   ->manage.py
   ->project
      ->urls.py
      ->settings
          ->base.py
          ->dev.py

我使用以下命令安装了apache2和mod_wsgi -

代码语言:javascript
复制
sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi

然后我安装了mysql,创建了一个数据库,并安装了所有需求

代码语言:javascript
复制
pip install -r base.txt

我在路径上创建了一个虚拟主机project.conf -

代码语言:javascript
复制
/etc/apache2/sites-available/project.conf

文件内容是这样的-

代码语言:javascript
复制
<VirtualHost *:80>
ServerAdmin example@gmail.com
ServerName project.ddns.net
ServerName www.project.ddns.net
WSGIScriptAlias / /var/www/project_revamped/project/project/wsgi.py
<Directory /var/www/project_revamped/project/project>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

然后我给出这个命令来激活这个conf文件-

代码语言:javascript
复制
a2ensite project.conf

我的django项目中的wsgi.py的内容是-

代码语言:javascript
复制
import os
import sys
import site
#Add the site-packages of the chosen virtualenv to work with
   site.addsitedir('/var/www/.virtualenvs/projectenv/local/lib/python2.7/site-packages')
#Add the app's directory to the python path
sys.path.append('/var/www/project_revamped/project')
sys.path.append('/var/www/project_revamped/project/project')

os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings.dev'

#Activate your virtualenv
activate_env =         os.path.expanduser('/var/www/.virtualenvs/projectenv/bin/activate_this.py'    )
execfile(activate_env, dict(__file__=activate_env))

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

在更改了文件之后,我终于给出了命令-

代码语言:javascript
复制
service apache2 reload
service apache2 restart

但是,在正确完成这些操作后,相应的ip会显示服务器有问题,并发送500个错误。我猜问题出在我的配置中,因为apache服务器正在响应工作fine.After,所以问题开始了。

有没有人能帮我配置一下?在过去的两天里,我被困在这里,互联网上的每一篇不同的文章都讲述了不同的故事。

EN

回答 1

Stack Overflow用户

发布于 2015-07-31 00:58:26

看看the official documentation吧。我想你错过了WSGIPythonPath-directive。

正如@BurhanKhalid所说的,这个链接的教程是完整的和经过测试的,应该与您的设置几乎完全匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31720170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档