Ruby on Rails (AlmaLinux 8)

Ruby on Rails (AlmaLinux 8)

  • Операционна система: almalinux 8

Описание

Ruby on Rails (RoR) е фреймуърк за уеб приложения, който е базиран на езика за програмиране Ruby. Той предоставя структура за уеб приложения и улеснява разработката на софтуер, като осигурява множество готови компоненти, като например модули за аутентикация, работа с бази от данни и други. RoR е известен също като "MVC фреймуърк", което означава, че осигурява разделение на модела, изгледа и контролера на приложението. Това прави разработката по-организирана и улеснява поддръжката на приложенията в бъдеще.

Включен софтуер

Пакет Версия
Ruby-on-Rails 3.2
MariaDB 10.6
Docker 3.20.10
Docker compose 2.12.2
containerd.io 1.6.10

Първоначално стартиране на услугата

Това приложение използва Docker, за да осигури по-бързо стартиране на прилежащия софтуер (Ruby-on-Rails) и директно започване на употребата му. По този начин се елиминира нуждата от запознаване със спецификите му по отношение на конфигурация и инсталация. За да започнете директна работа с приложението, единственото, което трябва да направите е да качите своето съдържание, което желаете да се обслужва от Ruby-on-Rails в директорията /opt/ruby/data/.

Бързи настройкии и често задавани въпроси

  • Входът в клауд услугата се извършва посредством SSH ключ или парола, която сте посочили.
  • Docker е инсталиран според препоръките от официалната docker документация.
  • Стандартните команди docker и docker compose са вече достъпни в това приложение.
  • При първо стартиране на виртуалната машина, отнема няколко минути, преди да се стартира Docker контейнер, съдържащ Ruby-on-Rails.
  • Ruby-on-Rails data, където трябва да разположите вашето приложение се намира в /opt/ruby/data/.
  • Портът, на който работи услугата е 3000.

Допълнителни настройки при Docker

Допълнителнителните настройки за Ruby, които можете да променяте и които се контролират директно от Docker са зададени като променливи стойности в конфигурационния файл /opt/docker-ruby/docker-compose.yml.

Забележка: След промяна на която и да е от стойностите, трябва да пресъздадете Docker контейнера, върху който работи приложението. За повече информация, моля, прочетете секцията за пресъздаване на Docker контейнери.

Допълнителни полезни съвети

  • Ако желаете да ползвате Java CLI, то можете да го направите с бързата команда docker exec -ti docker-ruby-ruby-1 ruby <COMMAND>.
  • Ако ползвате често Java CLI, то можете и да направите бърз shortcut чрез добавяне на alias по следния начин:
echo "alias ruby='docker exec -ti docker-ruby-ruby-1 ruby'" >> ~/.bashrc
source ~/.bashrc

Работа с Docker

Организацията на това приложение е осъществена изцяло посредством Docker. По този начин можем да Ви предоставим готови приложения по-бързо. Освен това, конфигурацията им е по-гъвкава и е доста контролируема. За да можете да го контролирате това приложение обаче, е нужно да знаете някой базови Docker функционалности и особености.

Рестартиране на всички услуги

Рестартирането на базата данни и Docker контейнера, който съдържа самия Ruby-on-Rails, заедно с останалия софтуер, може да бъде извършено по два начина:

  1. Чрез рестартиране на цялата виртуална машина
  2. Рестартиране на Docker контейнерите, което е по-бързия вариант. За целта, достъпете машината си чрез SSH, и изпълнете следните команди:
sudo su -
cd /opt/docker-ruby
docker compose restart

Пресъздаване на Docker контейнери

Пресъздаването може да се наложи, в случай че сме променяли конфигурацията в docker-compose.yml. При тази ситуация, трябва да следвате следните стъпки:

cd /opt/docker-ruby
docker compose stop
docker compose up -d

Проверка на статуса на Docker приложението

За да направите проверка, трябва да изпълните следните команди:

sudo su -
docker ps -a

Моля, обърнете внимание на колоната STATUS. Тя трябва да показва от колко време работи услугата, например Up X minutes. Ако статуса е Restarting, то трябва да се провери какво не е наред с приложението. В такъв случай, можете да направите проверка, като проследите логовете на приложението по следния начин:

  1. Вземете името на приложението, което можете да видите в колоната NAMES от изходния код на командата docker ps -a. Вижте логовете с командата docker logs <NAME>, Където е името на контейнера.

Промяна на настройки

Описаните настройки в секцията Допълнителни настройки при Docker могат да бъдат нагласяни в docker-compose.yml файла. Пътят до него е описан отново в тази секция. За да промените настройка, отворете конфигурационния файл и обърнете внимание на секцията environment, намираща се под ruby. Всяка една конфигурационна опция трябва да бъде описана на нов ред с тире отпред по следния примерен начин:

    environment:
      - APACHE_HTTP_PORT_NUMBER=8080

Моля, обърнете внимание, че трябва да се спазва и правилната индентация (брой празно място), тъй като това е важно за конфигурационни файлове от тип yaml.