Как я могу контролировать/получать доступ к службам сервера ubuntu через веб-панель администратора node.js?

Я не знаю, с чего начать этот вопрос!

По сути, я хотел бы создать веб-панель управления, используя node.js в качестве серверной части. Это будет работать на моем Raspberry Pi с Ubuntu Server.

Идея состоит в том, что я могу получить статистику (процессор, температура, место на диске и т. д.) и настроить основные функции, такие как база данных MongoDB, хостинг и т. д.

Теперь это, очевидно, возможно, как и многие другие веб-панели, однако возможно ли это с помощью node.js.

Я полагаю, что первый вопрос будет заключаться в том, могу ли я запускать/останавливать службы (перезагружать сервер, запускать MongoDB и т. д.) через Node.Js, а во-вторых, могу ли я получить информацию об этом для отображения на моей веб-панели?

Я попробовал Google, но в первый раз даже не знаю, какой вопрос задать :)

Я нашел Node JS примеры запуска команд командной строки, однако при передаче простых команд, таких как node -v, произошел сбой, поэтому я не уверен, что этот метод используется другими веб-панелями коммерческих серверов.

Любой совет будет полезен :)

Спасибо


person SGD    schedule 14.05.2021    source источник


Ответы (1)


Вы должны попробовать это руководство: https://stackabuse.com/executing-shell-commands-with-node-js/

Из документа узла для child_process: https://nodejs.org/api/child_process.html

const { exec } = require('child_process');

exec('"/path/to/test file/test.sh" arg1 arg2');
// Double quotes are used so that the space in the path is not interpreted as
// a delimiter of multiple arguments.

exec('echo "The \\$HOME variable is $HOME"');
// The $HOME variable is escaped in the first instance, but not in the second.
person flakerimi    schedule 14.05.2021
comment
Похоже, это то, что мне нужно. Я проверю это подробно. Спасибо :) - person SGD; 15.05.2021
comment
если это помогло, пожалуйста, примите ответ, вот как работает SO. - person flakerimi; 17.05.2021
comment
Я думаю, что я сделал это? Я выбрал зеленую галочку. Спасибо. - person SGD; 19.05.2021