代码之家  ›  专栏  ›  技术社区  ›  c6754

何时以及如何为uWSGI、nginx和Django堆栈创建.sock文件

  •  0
  • c6754  · 技术社区  · 7 年前

    uWSGI guide . 我在权限方面也遇到了问题,但其他的答案已经涵盖了这些问题。我想更好地理解unixsocket/socket文件是如何以及何时创建的。仅供参考这是一个运行amazonlinux2ami的AWS ec2实例。

    uWSGI指南指导您安装nginx、Django和uWSGI。然后单独测试Django开发服务器和nginx。然后在 this section 测试uWSGI和nginx是否与用于通信的tcp/ip套接字一起工作。在那之后,仍然没有涉及到Django项目,他们描述了如何使用Unix套接字而不是tcp/ip套接字在nginx和uWSGI之间进行通信。在完成所有nginx/uWSGI配置之后,您可以从主目录运行命令(至少对于我的特定文件结构和Django项目, ~/test_project

    uwsgi --socket test_project/test_project.sock --wsgi-file test.py
    

    test_project.sock ,何时创建,以及哪个进程创建它。我目前最好的理解是uWSGI创建了它,但是为什么我们需要合并Django项目(在这里 test_project )有吗?为什么不在Django项目文件夹外创建套接字呢?我们使用的是python语法吗?它是 对象还是模块?

    我知道 试验_项目.sock

    此外,在无法实际查看文件的情况下( )我如何知道访问它需要哪些权限?我运行了一些测试,现在怀疑它与 ~/test_project/test_project/wsgi.py 但我没有任何直接证据。

    1 回复  |  直到 7 年前
        1
  •  1
  •   c6754    7 年前

    你可以创建套接字, *.sock Django项目之外的文件。当您这样做时,文件将在uWSGI进程结束后保持。然后可以查看该文件并确定权限。

    我很困惑,因为很多教程,包括[uWSGI官方] 1 *短袜 归档到Django项目中。我仍然不知道为什么这是必要的,为什么文件不坚持在这种情况下。