В прошлом году летом я должен был поиграть с Дено и это было очень весело 😀 Я в основном делал простые серверные сценарии, чтобы обслуживать статические сайты. Самый код 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»