【问题标题】:(13)Permission denied: mod_wsgi Unable to connect to WSGI(13)Permission denied: mod_wsgi Unable to connect to WSGI
【发布时间】:2012-05-29 10:02:10
【问题描述】:

我正在尝试在新的 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放在哪里?

【问题讨论】:

  • wsgi文件夹不存在是什么意思?

标签: django wsgi


【解决方案1】:

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

文档位于:

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

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

【讨论】:

  • 感谢您的回复。在这个配置文件中,所有指令都被视为VirtualHost,所以我把这个指令放到所有服务器的配置文件中,效果很好。
猜你喜欢
  • 2021-03-27
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
  • 2021-11-08
  • 2013-08-31
  • 2015-03-07
相关资源
最近更新 更多