(13)权限被拒绝:mod_wsgi无法连接到WSGI

时间:2012-05-29 10:02:11

标签: django wsgi

我正在尝试在新的vps服务器(CentOS 6)上运行django 1.3.1 现在我收到了这个错误:

(13)Permission denied: mod_wsgi (pid=7159): Unable to connect to WSGI daemon process 'somodinteriors:80' on '/etc/httpd/logs/wsgi.7152.0.1.sock' after multiple attempts.

我通过添加WSGISocketPrefix(你可以了解它here)阅读如何修复它。

这是我的配置文件:

#Alias /robots.txt /var/www/vhosts/domain.co.uk/httpdocs/robots.txt
#Alias /favicon.ico /var/www/vhosts/domain.co.uk/httpdocs/favicon.ico

#Alias /static/ /var/www/vhosts/domain.co.uk/httpdocs/
#Alias /media/ /var/www/vhosts/domain.co.uk/httpdocs/media/

#WSGIScriptAlias / /var/www/vhosts/domain.co.uk/sites/somod/apache/django.wsgi

#<Directory /var/www/vhosts/domain.co.uk>
#    Order allow,deny
#    Allow from all
#</Directory>

#<VirtualHost *:80>
  ServerName domain.co.uk

  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 somodinteriors:80 user=somod group=psaserv processes=1 threads=1
  WSGIProcessGroup somodinteriors:80
#  WSGIPythonPath /var/www/vhosts/domain.co.uk
  WSGISocketPrefix /var/run/wsgi

  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/chost/domain.co.uk/media
  <Location /media/>
    SetHandler None
  </Location>
#</VirtualHost>

当我将WSGISocketPrefix /var/run/wsgi添加到配置文件中时,我在重新启动apache时遇到此错误:

Syntax error on line 29 of /var/www/vhosts/domain.co.uk/conf/vhost.conf:
WSGISocketPrefix cannot occur within <VirtualHost> section

此文件夹存在:

drwxr-xr-x. 2 root      root      4096 May 29 09:36 wsgi

在网站上我收到503错误。

我应该把WSGISocketPrefix /var/run/wsgi放在哪里?

1 个答案:

答案 0 :(得分:8)

在Apache配置的全局范围内将其粘贴在VirtualHost之外。

以下文件:

http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix

说上下文是服务器配置而不是虚拟主机。