С Новым годом! Форум программистов, компьютерный форум, киберфорум
Ubuntu, Mint Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Эксперт Hardware
6266 / 3703 / 313
Регистрация: 13.02.2014
Сообщений: 13,670
1

Написать systemd unit для ruby приложения

09.11.2021, 11:00. Показов 619. Ответов 0

Author24 — интернет-сервис помощи студентам
Доброго времени суток. не знаю, может это лучше в раздел Ruby)
В общем, есть приложение на ruby: https://github.com/express42/reddit
После скачивания, установки зависимостей и запуске из папки команды:
Bash
1
puma -d
всё отлично запускается и доступно по порту 9292.
Но не совсем понятно откуда эта команда берет параметры запуска веб-сервера и как их воспроизвести.
В мануалах по puma написано, что вроде бы надо натравливаться на файл puma.rb, но такого файла в проекте нет)

Задача следующая: завернуть запуск веб-сервера puma вместе со стартом системы через systemd service.

Наваял что-то такое, но в общем-то не запускается:
Код
[Unit]
Description=Puma HTTP Server
After=network.target

# Uncomment for socket activation (see below)
# Requires=puma.socket

[Service]
# Puma supports systemd's `Type=notify` and watchdog service
# monitoring, if the [sd_notify](https://github.com/agis/ruby-sdnotify) gem is installed,
# as of Puma 5.1 or later.
# On earlier versions of Puma or JRuby, change this to `Type=simple` and remove
# the `WatchdogSec` line.
Type=simple

# If your Puma process locks up, systemd's watchdog will restart it within seconds.
#WatchdogSec=10

# Preferably configure a non-privileged user
#User=puma

# The path to your application code root directory.
# Also replace the "<YOUR_APP_PATH>" placeholders below with this path.
# Example /home/username/myapp
WorkingDirectory=/home/reddit-app/reddit

# Helpful for debugging socket activation, etc.
# Environment=PUMA_DEBUG=1

# SystemD will not run puma even if it is in your path. You must specify
# an absolute URL to puma. For example /usr/local/bin/puma
# Alternatively, create a binstub with `bundle binstubs puma --path ./sbin` in the WorkingDirectory
#ExecStart=/<FULLPATH>/bin/puma -C <YOUR_APP_PATH>/puma.rb

# Variant: Rails start.
# ExecStart=/<FULLPATH>/bin/puma -C <YOUR_APP_PATH>/config/puma.rb ../config.ru

# Variant: Use `bundle exec --keep-file-descriptors puma` instead of binstub
# Variant: Specify directives inline.
ExecStart=/usr/local/bin/puma -C /home/reddit-app/reddit/app.rb
#ExecStart=/<FULLPATH>/puma -b tcp://0.0.0.0:9292
#-b ssl://0.0.0.0:9293?key=key.pem&cert=cert.pem


Restart=always

[Install]
WantedBy=multi-user.target
ExecStart пробовал разные варианты, но нахрапом тут не взять.
Подскажите направление, кто с ruby приложениями работает)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2021, 11:00
Ответы с готовыми решениями:

Unit-test для простого консольного приложения
Делаю лабу, но никак не могу разобраться и сделать юнит тест для консольного приложения, которое...

Стоит ли писать функциональные и unit тесты для простого приложения?
Доброго времени суток. Заканчиваю писать один из первых учебных проектов. Он не то, чтоб сложный,...

Написать unit-тест для кода
Добрый день! Помогите написать unit-тест для данного метода. В C# новичок. public Movie...

Написать консольное приложение для подсчета метрики спена для языка Ruby
Необходимо написать консольное приложение для подсчета метрики спена для языка Ruby. Код на Ruby...

Ruby vs Python для back-end'a мобильного приложения, нужен realtime (возможно тема холиварная)
Изучаю мобильную разработку, хочу свой клон agar.io написать. Встал вопрос о back-end'e. До этого...

0
09.11.2021, 11:00
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.11.2021, 11:00
Помогаю со студенческими работами здесь

Unit Tests для проекта с Unit Of Work
Привет. Вынужден снова обратиться за помощью. Пишу блог. Архитектура такова, что есть...

Как написать unit test (gtest) для работы с файлом?
Подскажите, пожалуйста, как правильно написать unit test (gtest) для записи в .csv file. А так же...

как и какие написать unit test для данного класса?
Вечер добрый всем ! суть моей проблемы заключается вот в чем : У меня есть программа ,в...

Написать программу создания модуль Unit для простейших геометрических фигур
Написать программу создания модуль Unit для простейших геометрических фигур.

Написать программу создания модуля unit, для простейших геометрических фигур: прямоугольника и круга.
Написать программу создания модуля unit,для простейших геометрических фигур: прямоугольника и круга.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru