Nas, который я использовал дома, установил Node JS v12 из центра пакетов Synology. Поэтому я подумал, что было бы здорово создать веб-сервер Node JS http и изучить себя в области серверной и внешней разработки.
Создайте том1 / path_to_your_app / app. js и разрешите http-серверу прослушивать порт 8080. Затем, с помощью Powershell, я мог войти в систему с помощью [username] и [password] моей учетной записи Synology (admin) в Nas через ip-адрес из дома. Для доступа с помощью s sh в конфигурации / терминале Synology необходимо проверить службу s sh. Номер порта по умолчанию - 22, я изменил его, например, на 8822. Затем из Powershell я теперь мог выполнить команду:
- s sh username@192.168.1.44 -p8822
- Далее будет запрошен пароль
Теперь из оболочки Synology я могу перейти к файлу, запустить его и просмотреть в браузере по адресу 192.168.1.44:8080/.
- cd / volume1 / path_to_your_app /
- приложение узла. js
Далее я настраиваю переадресацию портов для размещения веб-сервера в сети. В моих настройках роутеров / перенаправление портов ipv4 / мой nas определяется под ip-адресом 192.168.1.44. При настройке приложения Nas я добавил новое правило в соответствии с протоколом TCP на порт 8080. Он работает только для порта 8080 (насколько я мог понять, пока он работает), потому что это экспериментальный порт. Теперь я могу получить доступ к своему веб-серверу по WAN-IP моего маршрутизатора: 8080 /. После выхода из оболочки Synology (Ctrl + c) мое приложение также перестает работать. Я не смог установить навсегда с npm, чтобы сервер работал. Однако с этой страницы я нашел решение. Мне пришлось создать выскочивший файл из оболочки Synology в папке / etc / init.
#!upstart
description "your app name"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
env NODE_ENV=development
# Warning: this runs node as root user, which is a security risk
# in many scenarios, but upstart-ing a process as a non-root user
# is outside the scope of this question
chdir /volume1/path_to_your_app/
exec node /volume1/path_to_your_app/app.js >> /var/log/yourappname.log 2>&1
Теперь я могу начать и остановите сценарий запуска вручную из оболочки Synology, и он продолжит работать даже после того, как я выйду из оболочки Synology. Я также вставил в сценарий «chdir / path_to_your_app /» перед «exe c», потому что он меняет каталог, из которого работает Node JS, на каталог из вашего приложения. Я не знаю, что представляет собой угроза безопасности из предупреждения в сценарии.
- sudo start yourappname
- sudo stop yourappname