跟进本教程,设置uwsgi + nginx来提供我的django应用程序
尽管它假设用户理解了一些关于uwsgi的东西,但一切顺利!在假设使用套接字而不是端口来提供页面的部分中,这是指令
编辑 mysite_nginx.conf (我可以这样做);
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" 是我应该创建的文件还是什么?有什么内容?
保
答案 0 :(得分:2)
.sock文件是unix套接字(也称为IPC套接字),并以编程方式创建,以允许在进程之间交换信息。在这种情况下,mysite.sock允许在uwsgi和nginx之间交换信息。适用时,套接字可替代地用于具有更多开销的端口。出于相似的目的,请考虑流程之间的“管道”。
This article特别帮助我更有效地理解套接字。读一读!
答案 1 :(得分:1)
该套接字文件将由uwsgi自动创建。如果您在documentation you linked to中进一步查看,则会找到将以下行放入mysite_uwsgi.ini
的说明:
socket = /path/to/your/project/mysite.sock
这告诉uwsgi在哪里为你的应用程序创建套接字。您的nginx配置中的以下行:
server unix:///path/to/your/mysite/mysite.sock; # for a file socket
告诉nginx在哪里寻找套接字。每个配置文件中的两个路径必须相同(或解析为同一文件)。
正如chuk2bp所提到的,套接字文件是一个通信通道。在这种情况下,它允许nginx与uwsgi交谈。
答案 2 :(得分:0)
为 @Louis的答案。
服务器unix:///path/to/your/mysite/mysite.sock; #用于文件套接字
您只需更改
unix:// / path / to / your / mysite /mysite.sock;
至
unix:// / home / h / workspace / sun-asterisk / POC-makeup / deploy-tutorial / nginx-tutorial / mysite /mysite.sock;
注意: / home / h / workspace / sun-asterisk / POC-makeup / deploy-tutorial / nginx-tutorial / mysite 是我的项目路径。 >