我正在尝试daphne
使用多处理运行 2.1。在文档中我有:
如果要将多个 Daphne 实例绑定到机器上的同一端口,请使用可以侦听端口并将文件描述符传递给启动的进程的进程管理器,然后使用 --fd NUM 传递文件描述符。
我尝试使用套接字(dapnhe.socket
):
[Unit]
Description=Daphne Socket worker %i
[Socket]
ListenStream=/usr/local/reduction/dist/daphne.sock
Accept=yes
[Install]
WantedBy=sockets.target
并提供服务 ( daphne@.service
)
[Unit]
Description=Daphne Service For Django %I
After=syslog.target
Requires=daphne.socket
[Service]
Type=simple
RuntimeDirectory=daphne
PIDFile=/run/daphne.pid
WorkingDirectory=/usr/local/reduction/src
ExecStartPre=/bin/bash -c 'systemctl set-environment FD=`echo %i | tr -d -`'
ExecStart=/bin/bash -c '/usr/local/reduction/venv/bin/daphne -fd ${FD} server.asgi:application'
Restart=always
[Install]
WantedBy=multi-user.target
有%i
形式%d-%d-%d
。我只是-
在将其传递给daphne
.
这不起作用...任何人都知道如何将 FD 传递给daphne
?