簡體   English   中英

Django:Apache DocumentRoot不存在

[英]Django: Apache DocumentRoot does not exist

我正在嘗試使用mod_wsgi,CentOS 6在apache 2.6.6上運行Django 1.3.1。

我更改了httpd.conf文件:

WSGIPythonPath /var/www/vhosts/domain.co.uk
<VirtualHost *:80>
  #ServerName domain.co.uk
  ServerName 46...233

  ##DocumentRoot /var/www/vhosts/domain.co.uk/httpdocs

  LogLevel debug
  ErrorLog /var/www/vhosts/domain.co.uk/logs/error.log
  CustomLog /var/www/vhosts/domain.co.uk/logs/access.log combinedio

  HostnameLookups Off

  UseCanonicalName On

  WSGIScriptAlias / /var/www/vhosts/domain.co.uk/sites/somod/apache/django.wsgi
  WSGIDaemonProcess somod:80 user=somod group=psaserv processes=1 threads=1
  WSGIProcessGroup somod:80
  #WSGIPythonPath /var/www/vhosts/domain.co.uk

  Alias /robots.txt /var/www/vhosts/domain.co.uk/sites/templates/robots.txt
  Alias /favicon.ico /var/www/vhosts/domain.co.uk/sites/media/favicon.ico

  <Directory "/var/www/vhosts/domain.co.uk/httpdocs">
    AllowOverride None
    Options -ExecCGI -Includes -FollowSymLinks -Indexes
    Order allow,deny
    Allow from all
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
  </Directory>

  <Directory "/var/www/vhosts/domain.co.uk/sites">
    AllowOverride None
    Options +ExecCGI -Includes +FollowSymLinks -Indexes
    Order allow,deny
    Allow from all
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
  </Directory>

  Alias /media "/var/www/vhosts/domain.co.uk/media"
  <Location "/media/">
    SetHandler None
  </Location>
</VirtualHost>

所以我粘貼我的apache配置(只有我添加的代碼)。 這是在/etc/httpd/conf/httpd.conf

我現在可以重啟apache而沒有任何錯誤,但網站還不可見。 不幸的是我無法運行sudo a2enmod wsgi ,我使用的是cenos 6而且a2enmod不可用。 但我確定它已經安裝,因為我訂購vps,只是不確定它是否正在運行。 我會查一下。

我現在的問題是網站應該是什么網址? 它的值是ServerName,還是ip address/ServerName value 我可以使用ip地址嗎? 因為我想要運行網站並確保在切換域之前一切正常,因為現在在這個域下是我要移動到新服務器的網站。

非常感謝您的幫助

不知道你在做什么,但這里是你兄弟的一個示例配置:

WSGIPythonPath /var/www/yoursite
<VirtualHost *:80>
    ServerName yoursite.com
    ServerAlias testing.yoursite.com

    Alias /static/ /var/www/yoursite/yourdjangoproject/static/
    # Alias /sitemap.xml /var/www/yoursite/yourdjangoproject/static/sitemap.xml
    WSGIScriptAlias / /var/www/yoursite/yourdjangoproject/wsgi.py

    <Directory />
        AllowOverride None
        Options -Indexes
    </Directory>

    <Directory /var/www/yoursite/.git/>
        Deny From All 
    </Directory>

    LogLevel info
    ErrorLog /var/log/apache2/yoursite-error.log
    CustomLog /var/log/apache2/yoursite-access.log combined
</VirtualHost>

創建此文件並將其命名為yoursite並將其放在/etc/apache2/sites-available 然后運行sudo a2ensite yoursite ,它也將被sites-enabled

這取決於:

  • apache2
  • libapache2-mod-wsgi

通過運行sudo a2enmod wsgi確保啟用了sudo a2enmod wsgi

我建議在您的版本控制存儲庫中使用該文件,然后將其從/etc/apache2/sites-available進行符號鏈接。

另請注意,我已為/ static /創建了一個別名,如果要使用它,請確保運行sudo ./manage.py collectstatic 這會將所有靜態文件放在/var/www/yoursite/yourproject/static

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM