Попытка запустить пакетный файл в качестве службы Windows
Я создал простой командный файл для запуска моего узла redis.
@echo off
start cmd.exe /k "cd C:\Users\cmguser\Desktop\7000 & redis-server ./redis.conf"
Этот пакетный файл работает нормально, если я запускаю его в cmd от имени администратора. Я создаю этот bat-файл в качестве службы Windows через NSSM, но служба выдает следующую ошибку: "Windows не удалось запустить службу на локальном компьютере, служба не вернула ошибку". Ссылка на эту ссылку.
Нужно ли упоминать запуск от имени администратора в моем командном файле, или есть какие-либо другие проблемы с помощью вышеупомянутого метода?
Также я попытался создать сервис с помощью следующей команды, но он выдал ошибку 1053:
sc create service_name binpath=C:\Users\user\Desktop\redis_config_7000 start= auto
1 ответ
Правильный способ установки Redis как службы в Windows:
redis-server --service-install --service-name "[your desired service name]" "[full path to your redis conf]"
Как и предполагали другие, файл redis.conf должен содержать хотя бы минимальные параметры. Попробуйте использовать конфигурацию по умолчанию и получите более конкретную информацию, включив конфигурацию по умолчанию в файл конфигурации конкретного экземпляра для include
Другой способ заключается в использовании sc create
команда правильно:
SC CREATE [your desired service name] binpath= "\"C:\Program Files\Redis\redis-server.exe\" --service-run \"[full path to your config]\""
Пожалуйста, обратите внимание на пробел после binpath=
!