如何配置WSGISocketPrefix

时间:2015-04-20 17:15:23

标签: django apache centos mod-wsgi wsgi

在守护进程模式下运行django时出现权限问题。在此阅读https://code.google.com/p/modwsgi/wiki/ConfigurationIssues#Location_Of_UNIX_Sockets我认为解决方案是配置WSGISocketPrefix

问题在于/var/run/wsgi无法在我的centos服务器上找到。

我能找到的关闭事项是:/etc/httpd/run/httpd.pid

如何找到wsgi的安装位置?

或者我可以将WSGISocketPrefix设置为等于什么其他值?

1 个答案:

答案 0 :(得分:0)

使用Ubuntu 14.0.4 LTS,Django11.1,Python 3.6.1和mod_wsgi-4.5.15,它对我有用,如下所示:

Apache显示以下错误:

  • 503服务不可用

Apache错误日志显示以下内容:

  • [wsgi:error] [pid 5411](2)没有这样的文件或目录:[client 1.2.3.4:12345] mod_wsgi(pid = 5411):无法连接到'/ var上的WSGI守护进程'mywsgi' /run/apache2/wsgi.5403.0.1.sock'作为uid = 123的用户。

请注意,我将WSGI作为与默认www-data不同的用户运行。这是由WSGIDaemonProcess中的'user'更改的。

<强>解决方案:

  • /etc/apache2/apache2.conf 的底部,添加:

WSGISocketPrefix / var / run / apache2 / wsgi

  • 重启Apache之后,我可以ls -la看到 / var / run / apache2 下的锁文件:

apache2.pid

wsgi.5017.0.1.sock

<强>来源: