Управление бэкендом с клиента
Как можно реализовать такой процесс:
На сервере я запускаю приложение node server_1.js На клиенте в input ввожу команду: server_1.js stop, server_2.js start На сервере: server_1.js приняв команду запускает server_2.js, а сам закрывается |
А что должно произойти с подключенным клиентом?
Надо наверное какой-нибудь агент, к которому подключается клиент, и агент управляет созданием/удалением процессов. https://nodejs.org/api/child_process.html https://medium.freecodecamp.org/node...w-e69498fe970a |
Сейчас у меня на сервере стоит nodemon, а серверный скрипт я правлю через winscp с открытием в sublimeText.
Я хочу избавится от установки на ПК любого софта кроме браузера. Цель: Я хочу зайдя на свою страницу администратора, ввести в input команду скажем get server.js сервер возвращает его код, я в редакторе на самой странице правлю скрипт, нажимаю сохранить. И server.js перезапускается. То есть на клиенте я ввожу команду на получения ресурсов сервера для редактирования и последующего сохранения на сервере с перезапуском. Это вроде CMS называется. Вообщем я не хочу быть привязанным к ПК, чтобы я буквально с телефона мог редактировать серверный код. Вроде как онлайн-редактор бэкенда моего сайта со страницы администратора. |
Раз есть страница администратора, тогда не понятно зачем вводить какие-то команды.
Банальный fileexplorer в браузере, ходи по папкам и выбирай файл, поправил файл, нажал кнопку перезапустить. Даже редактор кода можно вставить. буквально 1 минута на поиск) https://www.npmjs.com/package/node-file-manager https://codemirror.net/ http://pm2.keymetrics.io/ |
Хочу поднять эту тему. У меня тоже есть аналогичная потребность.
Цитата:
Что необходимо: чтобы я на смартфоне (на своей веб-странице "mypage") ввел какой-то параметр (пусть в простой input), нажал кнопку "OK" и после этого myserver.js должен перезапуститься с учетом нового параметра. То есть, сервер, слушающий на каком-то порту XXXXX, должен получить такую вот "команду" с параметром и сам себя полностью перезапустить, да еще и работать в режиме daemon. Как такое сделать? Нюанс в том, что с новым параметром myserver.js может запуститься, но свалиться по ошибке. Тогда вообще уже mypage станет бесполезной (она просто не откроется). Рассмотрю любые идеи. На сервере Centos 7 стоит Apache и PHP 7. Может страницу mypage открывать на PHP и с помощью PHP как-то запускать/перезапускать myserver.js? Это как бы независимый от Node.js канал работы с сервером. Например что-то вроде такого: exec('node myserver.js'); |
Цитата:
|
Цитата:
Для понимания задачи давайте упраздним и это. Задача сводится к тому, чтобы иметь свою страницу https://mysite.com/mypage.html с тремя кнопками "Рестарт", "Стоп" и "Пуск". Понятное дело, что если остановить сервер, генерирующий, страницу mypage.html, то дальше мрак. Но хотя бы вариант с одной кнопкой "Рестарт" можно сделать? Как это реализовать через браузер? |
Маэстро,
Какой в этом смысл? если нужно перегружать при изменении файлов поставьте nodemon если просто так от скуки то reload подойдет |
Цитата:
Я нахожусь в одной стране, предприятие с локальной сетью в другой, вебсервер физически в третьей. Умные дяденьки (сисадмины) настроили следующую цепочку доступа к серверу: Сначал я должен с помощью удаленного доступа (Microsoft) войти в локальную сеть предприятия (логин/пароль раз), подключиться к моей виртуальной рабочей станции в сети. Только из локальной сети я могу запустить программу winscp (логин/пароль два), чтобы подключиться к серверу и что-то на него скопировать. Чтобы выполнить какие-то команды на сервере или перезапустить Node.js-сервер я еще должен запустить Путти, зайти под SSH (логин/пароль три). Кроме всего этого виртуальная станция настроена таким образом, что через 5 минут (?!) бездействия она лочится и логин/пароль приходится вводить заново (N раз). Я уважаю информационную безопасность, но для частной задачи хотелось бы не проходить крым/рым/медные трубы. Неужели никому больше не требуется удаленно перезапускать Node-сервер? |
Цитата:
Спасибо за совет. Но можете подробнее? Как оперируя только одной вебстраницей сделать reload сервера? |
Часовой пояс GMT +3, время: 05:09. |