Ruby on Rails (RoR) е фреймуърк за уеб приложения, който е базиран на езика за програмиране Ruby. Той предоставя структура за уеб приложения и улеснява разработката на софтуер, като осигурява множество готови компоненти, като например модули за аутентикация, работа с бази от данни и други. RoR е известен също като "MVC фреймуърк", което означава, че осигурява разделение на модела, изгледа и контролера на приложението. Това прави разработката по-организирана и улеснява поддръжката на приложенията в бъдеще.
Ruby on Rails (AlmaLinux 8)
- Операционна система: almalinux 8
Описание
Включен софтуер
Пакет | Версия |
---|---|
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, заедно с останалия софтуер, може да бъде извършено по два начина:
- Чрез рестартиране на цялата виртуална машина
- Рестартиране на 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
, то трябва да се провери какво не е наред с приложението. В такъв случай, можете да направите проверка, като проследите логовете на приложението по следния начин:
- Вземете името на приложението, което можете да видите в колоната
NAMES
от изходния код на командатаdocker ps -a
. Вижте логовете с командатаdocker logs <NAME>
, Къдетое името на контейнера.
Промяна на настройки
Описаните настройки в секцията Допълнителни настройки при Docker могат да бъдат нагласяни в docker-compose.yml файла. Пътят до него е описан отново в тази секция. За да промените настройка, отворете конфигурационния файл и обърнете внимание на секцията environment
, намираща се под ruby
. Всяка една конфигурационна опция трябва да бъде описана на нов ред с тире отпред по следния примерен начин:
environment:
- APACHE_HTTP_PORT_NUMBER=8080
Моля, обърнете внимание, че трябва да се спазва и правилната индентация (брой празно място), тъй като това е важно за конфигурационни файлове от тип yaml.