Модуль community.windows.win_nssm — установка службы с помощью NSSM
Примечание
Этот модуль входит в коллекцию community.windows (версия 3.1.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.windows. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.windows.win_nssm.
Краткое описание
- Установка службы Windows с помощью оболочки NSSM.
- NSSM — это помощник для служб, который не доставляет проблем. Дополнительные сведения см. на сайте https://nssm.cc/.
Требования
Следующие требования должны быть выполнены на узле, на котором выполняется этот модуль.
- nssm >= 2.24.0 # (установите с помощью chocolatey.chocolatey.win_chocolatey)
win_chocolatey: name=nssm
Параметры
Параметр | Комментарии |
|---|---|
app_environment dictionary добавлено в community.windows 1.2.0 | Пары ключ/значение, которые будут добавлены в окружение приложения службы. |
app_rotate_bytes integer | NSSM не будет ротировать файлы, размер которых меньше указанного количества байт. По умолчанию: |
app_rotate_online integer | Если установлено значение 1, nssm может ротировать файлы, достигшие заданного предельного размера, пока служба работает. Варианты:
|
app_stop_method_console integer | Время ожидания после отправки Control-C. |
app_stop_method_skip integer | Чтобы отключить методы завершения службы, задайте сумму одного или нескольких чисел 1 — не отправлять Control-C в консоль. 2 — не отправлять WM_CLOSE окнам. 4 — не отправлять WM_QUIT потокам. 8 — не вызывать TerminateProcess(). Варианты:
|
application path | Исполняемый файл приложения, запускаемого как служба Обязателен, если значение state — |
arguments псевдонимы: app_parameters_free_form string | Параметры, передаваемые приложению при запуске. Это может быть простая строка или список. |
dependencies list / elements=string | Зависимости службы, которые должны быть запущены для начала запуска; перечисляются через запятую. |
description string | Описание службы. |
display_name string | Отображаемое имя службы. |
executable path | Путь к утилите NSSM (если она не находится в PATH). По умолчанию: |
name string / обязательный | Имя службы, с которой нужно выполнить операцию. |
password string | Пароль для запуска службы. Для стандартных учетных записей служб и групповых управляемых учетных записей служб пароль не требуется. |
start_mode string | Если выбрано Значение Значение Значение Варианты:
|
state string | Состояние службы в системе. Варианты:
|
stderr_file path | Путь для сохранения вывода ошибок. |
stdout_file path | Путь для сохранения вывода. |
username псевдоним: user string | Пользователь, от имени которого будет запускаться служба. Имена групповых управляемых учетных записей служб должны заканчиваться на До версии |
working_directory псевдонимы: app_directory, chdir path | Рабочий каталог для запуска исполняемого файла службы (по умолчанию — каталог, содержащий исполняемый файл приложения) |
Примечания
Примечание
- Служба НЕ будет запущена после создания, если задано
state=present. - После создания службы можно использовать модуль ansible.windows.win_service, чтобы запустить ее или настроить дополнительные свойства, например тип запуска, зависимости, учетную запись службы и т. д.
См. также
См. также
- ansible.windows.win_service
-
Управление службами Windows.
Примеры
- name: Install the foo service
community.windows.win_nssm:
name: foo
application: C:\windows\foo.exe
# This will yield the following command: C:\windows\foo.exe bar "true"
- name: Install the Consul service with a list of parameters
community.windows.win_nssm:
name: Consul
application: C:\consul\consul.exe
arguments:
- agent
- -config-dir=C:\consul\config
# This is strictly equivalent to the previous example
- name: Install the Consul service with an arbitrary string of parameters
community.windows.win_nssm:
name: Consul
application: C:\consul\consul.exe
arguments: agent -config-dir=C:\consul\config
# Install the foo service, and then configure and start it with win_service
- name: Install the foo service, redirecting stdout and stderr to the same file
community.windows.win_nssm:
name: foo
application: C:\windows\foo.exe
stdout_file: C:\windows\foo.log
stderr_file: C:\windows\foo.log
- name: Configure and start the foo service using win_service
ansible.windows.win_service:
name: foo
dependencies: [adf, tcpip]
username: foouser
password: secret
start_mode: manual
state: started
- name: Install a script based service and define custom environment variables
community.windows.win_nssm:
name: <ServiceName>
application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
arguments:
- <path-to-script>
- <script arg>
app_environment:
AUTH_TOKEN: <token value>
SERVER_URL: https://example.com
PATH: "<path-prepends>;{{ ansible_env.PATH }};<path-appends>"
- name: Remove the foo service
community.windows.win_nssm:
name: foo
state: absent
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/windows/win_nssm_module.html