NSSM — установите службу Windows для запуска сервера daphne для каналов django.

Я запускаю команды на компьютере с 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?


person shaik moeed    schedule 04.12.2019    source источник


Ответы (1)


Нам нужно запустить 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.

person shaik moeed    schedule 06.12.2019
comment
Сталкивались ли вы с какими-либо проблемами при запуске этой конфигурации в Windows? - person Oleg; 22.02.2021
comment
@Олег, нет, работает нормально. - person shaik moeed; 23.02.2021