我在DigitalOcean上创建了一个droplet (云服务器),并使用no-ip.com将其主机名- project.ddns.net.By ssh(ing)添加到安装了pip和virtualenv的droplet中。
在/var/www/中,我创建了一个虚拟环境并从github克隆了存储库,我的project.The目录结构是-
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 -
sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi然后我安装了mysql,创建了一个数据库,并安装了所有需求
pip install -r base.txt我在路径上创建了一个虚拟主机project.conf -
/etc/apache2/sites-available/project.conf文件内容是这样的-
<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文件-
a2ensite project.conf我的django项目中的wsgi.py的内容是-
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()在更改了文件之后,我终于给出了命令-
service apache2 reload
service apache2 restart但是,在正确完成这些操作后,相应的ip会显示服务器有问题,并发送500个错误。我猜问题出在我的配置中,因为apache服务器正在响应工作fine.After,所以问题开始了。
有没有人能帮我配置一下?在过去的两天里,我被困在这里,互联网上的每一篇不同的文章都讲述了不同的故事。
发布于 2015-07-31 00:58:26
看看the official documentation吧。我想你错过了WSGIPythonPath-directive。
正如@BurhanKhalid所说的,这个链接的教程是完整的和经过测试的,应该与您的设置几乎完全匹配。
https://stackoverflow.com/questions/31720170
复制相似问题