如何使用wsgi_mod在ubuntu中托管django项目

时间:2015-04-29 12:27:50

标签: django apache ubuntu

我在/ var / www / firstproject中创建了示例django项目,我使用this link配置了

firstproject.conf in etc/apache2/sites-available

但我得到了禁止的错误。 如何解决错误,并帮助托管我的项目?

1 个答案:

答案 0 :(得分:2)

您没有得到有关错误的正确解释。

必需的包裹:

  • Apache2
  • libapache2-mod-wsgi
  • Django的

创建空项目

  • cd / var / www
  • sudo virtualenv foldername
  • cd foldername
  • sudo django-admin.py startproject projectname
  • cd projectname
  • sudo nano projectname.wsgi

projectname.wsgi文件

 import os 
 import sys 
 sys.path.append('/var/www/foldername/projectname') 
 os.environ['DJANGO_SETTINGS_MODULE'] = 'projectname.settings' 
 from django.core.wsgi import get_wsgi_application 
 application = get_wsgi_application()  
  • cd / etc / apache2 / sites-available
  • sudo nano projectname.conf

projectname.conf文件

<VirtualHost *:80> 
    ServerName www.example.com   
    ServerAlias  www.example.com   
    ServerAdmin webmaster@localhost 
    DocumentRoot /var/www/foldername/projectname 
    WSGIScriptAlias / /var/www/foldername/projectname/projectname.wsgi 
    Alias /static /var/www/foldername/static/static_only 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
 </VirtualHost> 

sudo nano / etc / hosts

您需要将以下行添加到主机文件

your_ip www.example.com

转到您的项目位置并运行python manage.py collectstatic 现在您的本地文件副本位于static_only文件夹

您可能正在“尝试编写只读数据库”错误,此权限问题因此您需要运行以下命令。

chown www-data:www-data /var/www/foldername
chown www-data:www-data /var/www/foldername/projectname/db.sqlite3

现在在浏览器上输入www.example.com