6266 / 3703 / 313
Регистрация: 13.02.2014
Сообщений: 13,670
|
||||||
1 | ||||||
Написать systemd unit для ruby приложения09.11.2021, 11:00. Показов 624. Ответов 0
Доброго времени суток. не знаю, может это лучше в раздел Ruby)
В общем, есть приложение на ruby: https://github.com/express42/reddit После скачивания, установки зависимостей и запуске из папки команды:
Но не совсем понятно откуда эта команда берет параметры запуска веб-сервера и как их воспроизвести. В мануалах по 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 Подскажите направление, кто с ruby приложениями работает)
0
|
09.11.2021, 11:00 | |
Ответы с готовыми решениями:
0
Unit-test для простого консольного приложения Стоит ли писать функциональные и unit тесты для простого приложения? Написать unit-тест для кода Написать консольное приложение для подсчета метрики спена для языка Ruby Ruby vs Python для back-end'a мобильного приложения, нужен realtime (возможно тема холиварная) |
09.11.2021, 11:00 | |
09.11.2021, 11:00 | |
Помогаю со студенческими работами здесь
1
Unit Tests для проекта с Unit Of Work Как написать unit test (gtest) для работы с файлом? как и какие написать unit test для данного класса? Написать программу создания модуль Unit для простейших геометрических фигур Написать программу создания модуля unit, для простейших геометрических фигур: прямоугольника и круга. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Использование Go (Golang) в Highload-проектах: преимущества и особенности
bytestream 25.01.2025
В мире высоконагруженных систем выбор правильного инструментария играет ключевую роль в успехе проекта. Go (Golang) представляет собой относительно молодой язык программирования, который быстро. . .
|
Откуда у float лишние цифры в конце дробной части. Представление чисел с плавающей точкой
bytestream 25.01.2025
При разработке программного обеспечения часто возникает необходимость работать с вещественными числами, которые содержат дробную часть. В современных компьютерных системах такие числа представляются. . .
|
Как использовать глобальную переменную в функции в Python
bytestream 25.01.2025
В программировании на Python глобальные переменные представляют собой особый тип переменных, которые доступны для использования во всех частях программы, включая различные функции, классы и модули. . . .
|
Как в цикле обойти все элементы map в Java
bytestream 25.01.2025
В разработке на Java одной из наиболее востребованных структур данных является интерфейс Map, который предоставляет эффективный способ хранения и управления парами "ключ-значение". Разработчики. . .
|
Для чего нужен UserManager.isUserAGoat() в Android и как это использовать
bytestream 25.01.2025
В мире Android-разработки существует множество интересных и порой загадочных функций, о которых знают далеко не все разработчики. Одной из таких функций является метод UserManager. isUserAGoat(),. . .
|
Как обойти масси в JavaScript. Всё о циклах
bytestream 25.01.2025
JavaScript представляет собой мощный язык программирования, широко используемый в веб-разработке, где массивы и циклы являются фундаментальными концепциями для эффективной работы с данными. Массив в. . .
|
Как сделать, чтобы существующая ветка отслеживала удалённую в Git. Связывание локальных и удалённых веток
bytestream 25.01.2025
В разработке программного обеспечения системы контроля версий стали неотъемлемой частью процесса создания качественного программного продукта. Эти инструменты позволяют разработчикам эффективно. . .
|
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
|
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
|
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
|
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
|
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
|