Рубрики
Uncategorized

Запустите приложения DENO через SystemD на Linux

В прошлом году летом я должен был поиграть с Дено, и это было очень весело 😀 Я в основном делал симу … Tagged с DevOps.

В прошлом году летом я должен был поиграть с Дено и это было очень весело 😀 Я в основном делал простые серверные сценарии, чтобы обслуживать статические сайты. Самый код DENO, который я написал, — это переписывание моего dotfiles от Ruby к типовому.

Это было интересно, и вскоре я хотел бы попробовать больше вещей, поэтому этот пост предназначен для меня и любого другого, кто хочет развернуть DENO на традиционном распределении Linux, таком как Ubuntu или какой -то другой дистрибуцию Linux.

На момент написания этой статьи текущая версия DENO составляет v0.40.0. Проект еще не считается готовым к производству, поэтому помните об этом, когда вы хотите разоблачить свое приложение в Интернет. Если вы получаете трафик в Интернете, могут быть ошибки, которые люди могли бы использовать.

Что такое Дено?

DENO — это новая среда выполнения TypeScript/JavaScript, разработанное Райаном Далом и другими. Есть несколько интересных вещей с проектом, но некоторые из них торчат; Модель безопасности отличается, где вы должны явно разрешать такие вещи, как доступ к файловой системе, сеть и т. Д. Сценарии Deno записаны в TypeScript. Вы можете прочитать больше о Дено на их сайте. У YouTube есть несколько разговоров на эту тему, когда вы ищете Deno JS Анкет Ищу просто Дено может не работать, так как рэпер использует это имя 😜

В этой настройке я просто предполагаю, что вы используете какой -то прокси -сервер и сосредоточимся только на конкретных битах SystemD. В зависимости от того, какое приложение вы запускаете, вы можете проконсультироваться с Full Systemd документация . Я также рекомендую запустить приложение в качестве специального пользователя таким образом, вы можете ограничить его еще больше (пожалуйста, не используйте root 😅).

Установка Дено

Прежде чем мы на самом деле перейдем к установке DENO, давайте устроим сгибание и распад. Curl используется для получения сценария установки и Unzip используется, когда Deno загружает зависимости (я думаю 🙃).

sudo apt-get update
sudo apt-get install -y curl unzip

Самый простой способ получить DENO на вашем сервере — это официальный сценарий установки

curl -fsSL https://deno.land/x/install/install.sh | sh

Добавление файла службы

Отлично, теперь, когда у вас есть DENO, вам нужно рассказать Systemd о приложении. Итак, сначала создайте файл службы, который мы будем использовать, просто замените мой крутой ход с именем вашего приложения.

sudo touch /etc/systemd/system/my-cool-thing.service

Используйте этот шаблон, чтобы установить значения (изменить соответствующие поля или удалить)

[Unit]
Description=my-cool-thing.io - doing cool things
Documentation=https://my-cool-thing.io/docs
After=network.target

[Service]
Type=simple
User=my-cool-thing-user
WorkingDirectory=/home/my-cool-thing-user/code
ExecStart=/home/my-cool-thing-user/.deno/bin/deno run --allow-read --allow-net my-cool-thing-main.ts
Restart=on-failure

[Install]
WantedBy=multi-user.target

Затем включите и запустите это

sudo systemctl enable my-cool-thing
sudo systemctl start my-cool-thing

БАМ, теперь у вас есть услуга, все подключено и готово.

Исправление проблем

Если у вас есть проблемы, проверьте журналы

systemctl status

Одна распространенная ошибка, которую я видел, — это забыть передать правильные разрешения, но их легко заметить, выполняя вручную команду начала

deno run my-cool-thing-main.ts

Я Александр и работать в качестве веб -разработчика в Scrimba — Ошеломляющий способ научиться кодировать. Этот пост является частью моей личной еженедельной задачи по написанию 256 слов в неделю, чтобы улучшить мое письмо по техническим темам.

Я надеюсь, что вы сочли полезным. Спасибо за чтение.

Оригинал: «https://dev.to/alexanderalemayhu/run-deno-apps-via-systemd-on-linux-1ok2»