1

我在 Windows 机器上运行如下所示的命令来启动我的服务器,

D:\django_channels> django_channels_env\Scripts\activate
(django_channels_env) D:\django_channels\djanog_project> daphne -e ssl:8000:privateKey=cert\\development.key:certKey=cert\\development.crt --ws-protocol "graphql-ws" --proxy-headers django_project.asgi:application

我正在使用 nssm,将其作为 Windows 服务。

我已将daphne命令粘贴到文本文件中并另存为.bat文件。

nssm 配置:

path = C:\Python\Python36\python.exe
Startup directory = D:\Django channels\django_channels_env
Arguments = "D:\Django channels\real_time_table\ws_daphne.bat"

ws_daphne.bat:

daphne -e ssl:8000:privateKey=cert\\development.key:certKey=cert\\development.crt --ws-protocol "graphql-ws" --proxy-headers project_name.asgi:application

错误:

  File "D:\Django channels\real_time_table\ws_daphne.bat", line 1
    daphne -e ssl:8000:privateKey=cert\\development.key:certKey=cert\\development.crt --ws-protocol "graphql-ws" --proxy-headers real_time_table.asgi:application
                ^
SyntaxError: invalid syntax

有人可以指导我daphne在虚拟环境中作为 Windows 服务运行吗?

4

1 回答 1

0

我们需要运行daphne.exe,它存在于我们的虚拟环境中。

XXXX.bat 文件:

call "D:\Django\Django channels\django_channels_env\Scripts\daphne.exe" -e ssl:8000:privateKey=cert\\development.key:certKey=cert\\development.crt --ws-protocol "graphql-ws" --proxy-headers real_time_table.asgi:application

nssm 配置:

path = your\path\env\to\bat_folder\XXXX.bat
Startup directory = your\path\env\to\bat_folder
Arguments = leave empty

这样,daphne现在作为 Windows 服务工作。

于 2019-12-06T06:16:58.120 回答