在 django + nginx + wsgi 中,啥是“mysite.sock”
Posted
技术标签:
【中文标题】在 django + nginx + wsgi 中,啥是“mysite.sock”【英文标题】:In django + nginx + wsgi, what is a "mysite.sock"在 django + nginx + wsgi 中,什么是“mysite.sock” 【发布时间】:2014-06-02 14:33:46 【问题描述】:我关注了this doc,几乎一切顺利,直到“mysite.sock”出现。它是这样发生的:
server unix:///path/to/your/mysite/mysite.sock; # for a file socket
# server 127.0.0.1:8001; # for a web port socket (we'll use this first)
这个文档没有提到任何关于“mysite.sock”的内容,经过一天的搜索,我什么也没找到。
【问题讨论】:
【参考方案1】:我不是这方面的专家,但我已经通过这种方法在 nginx 上使用 uWSGI 部署了 Django。一个套接字文件代表一个 Unix 套接字。在这种情况下,uWSGI 创建它,uWSGI 和 Nginx 将通过这个套接字相互通信。
您提供的链接的“Concept”部分谈到了它:
uWSGI 是一个 WSGI 实现。在本教程中,我们将设置 uWSGI 以便它创建一个 Unix 套接字,并提供对网络的响应 服务器通过 WSGI 协议。最后,我们的完整堆栈 组件将如下所示:
Web 客户端 Web 服务器 套接字 uwsgi Django
教程的第一部分讨论了使用 TCP 端口套接字来实现相同的结果。如果您已经遵循了这些步骤,那么您应该跳过 Unix 套接字部分。但是,它也提到了Unix sockets are better due to less overhead。
【讨论】:
我不知道应该在 mysite.sock 中写什么。你知道它长什么样子吗? uWSGI 将在启动时创建套接字文件,因此您无需担心创建或编辑它。只需确保 uWSGI 和 Nginx 在目录内具有读写权限即可。 感谢您的帮助。我做的时候会告诉你的! 最后我做到了,在我的根目录下有一个空的 XXXX.sock 文件。非常感谢你!以上是关于在 django + nginx + wsgi 中,啥是“mysite.sock”的主要内容,如果未能解决你的问题,请参考以下文章
Django+Linux+Uwsgi+Nginx项目部署文档
nginx/wsgi/Virtualenv/pip/yolk/django 配置添加新模块
使用 DotCloud 使用 apache + mod_wsgi + postgresql + nginx + memchache 部署 Django 应用程序