[英]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.