Comme les autres types d’Hébergement Web Gandi, les instances Ruby supportent deux types de bases de données : MySQL et PostgreSQL.
PostgreSQL
PostgreSQL est disponible pour Hébergement Web avec Ruby.
Paramètres de connexion :
Adresse: localhost
Port : 5432
Par défaut, vous pouvez utiliser l’utilisateur hosting-db`
sans mot de passe pour vous connecter à la base de données par défaut, appelée postgres
. Nous vous recommandons de créer des informations d’identification sécurisées pour une utilisation dans le monde réel.
Vous pouvez créer autant de bases de données et d’utilisateurs de bases de données que vous le souhaitez ; vous n’êtes limité que par votre espace disque, que vous pouvez augmenter à tout moment jusqu’à 1 To.
Vous pouvez gérer votre base de données PostgreSQL avec les commandes shell standard via la console SSH (psql
, pg_dump
, etc.), ou depuis le panneau d’administration Web avec phpPgAdmin. Consultez l’article de référence sur la gestion de PostgreSQL sur Hébergement Web pour en savoir plus.
Voici un exemple de configuration config/database.yml
pour Ruby on Rails qui utilise la base de données par défaut.
production:
adapter: postgresql
database: ruby-example
host: localhost
port: 5432
username: hosting-db
password:
encoding: unicode
pool: 5
MySQL
MySQL est disponible pour une utilisation avec les Hébergement Web Gandi Ruby.
Paramètres de connexion :
Socket: /srv/run/mysqld/mysqld.sock
Vous pouvez vous connecter au service de base de données MySQL via son socket Unix, disponible sur /srv/run/mysqld/mysqld/mysqld.sock
. L’utilisateur par défaut est root
et aucun mot de passe n’est requit par défaut. Cependant, vous devez créer des informations d’identification sûres pour une utilisation dans le monde réel. Vous pouvez également utiliser la base de données default_db pour des réglages rapides et des tests, car elle est automatiquement configurée lors de la création de l’instance.
Vous pouvez créer autant de bases de données et d’utilisateurs de bases de données que vous le souhaitez ; vous n’êtes limité que par votre espace disque, que vous pouvez augmenter à tout moment jusqu’à 1 To.
Vous pouvez gérer votre base de données MySQL avec les outils shell standard (mysql
, mysqldump
, etc.) via la console SSH, ou depuis la console d’administration web avec PHPMyAdmin. Consultez l’article de référence sur la gestion de MySQL sur Hébergement Web pour en savoir plus.
Voici un exemple config/database.yml
pour Ruby on Rails avec une base de données MySQL :
production:
adapter: mysql2
socket: /srv/run/mysqld/mysqld.sock
database: default_db
username: root
password:
encoding: utf-8
pool: 5
Comment utiliser Ruby sur un Hébergement Web Gandi¶
L’instance Hébergement Web Ruby vous permet de publier des applications web écrites en Ruby facilement et à un prix abordable.
Prérequis¶
Les utilisateurs d’instances Ruby Hébergement Web devraient avoir :
Les outils suivants doivent également être installés localement sur votre ordinateur :
La structure des répertoires¶
Pour être compatible avec Rack, les fichiers de votre application doivent respecter une mise en page spécifique, contenant les répertoires et fichiers suivants :
Ruby on Rails applications (rails >2) devrait fonctionner hors de la boîte.
Exemple de structure de fichier :
Installation des dépendances¶
Pour que les dépendances de votre application Ruby soient installées, vous devez les déclarer dans un fichier Gemfile placé à la racine de votre projet. Ce fichier doit correspondre au format indiqué dans la documentation du Bundler.
Exemple Gemfile:
Note
Pendant l’installation des dépendances, les gemmes spécifiées dans les groupes
development
ettest
ne seront pas installées.installation bundle¶
Une fois vos dépendances déclarées, vous devez générer un fichier
Gemfile.lock
en exécutant la commandebundle install
sur votre ordinateur.C’est le fichier qui sera utilisé pour installer les dépendances de votre instance. Il doit donc être inclus dans votre arbre git et poussé le long de votre application.
Domaines¶
Un nom de domaine est automatiquement lié à votre instance au moment de sa création à des fins de test. Vous pouvez lier un certain nombre de domaines et sous-domaines supplémentaires à votre instance. Tous utiliseront la même base de code d’application.
Si vous souhaitez que différents domaines soient acheminés vers différentes applications Ruby sur une seule instance d’hébergement simple, vous devrez configurer le routage vous-même dans le fichier
config.ru
.Un exemple simple :
Bases de données¶
Comme les autres types d’Hébergement Web Gandi, les instances Ruby supportent deux types de bases de données : MySQL et PostgreSQL.
PostgreSQL¶
PostgreSQL est disponible pour Hébergement Web avec Ruby.
Paramètres de connexion :
Par défaut, vous pouvez utiliser l’utilisateur
hosting-db`
sans mot de passe pour vous connecter à la base de données par défaut, appeléepostgres
. Nous vous recommandons de créer des informations d’identification sécurisées pour une utilisation dans le monde réel.Vous pouvez créer autant de bases de données et d’utilisateurs de bases de données que vous le souhaitez ; vous n’êtes limité que par votre espace disque, que vous pouvez augmenter à tout moment jusqu’à 1 To.
Vous pouvez gérer votre base de données PostgreSQL avec les commandes shell standard via la console SSH (
psql
,pg_dump
, etc.), ou depuis le panneau d’administration Web avec phpPgAdmin. Consultez l’article de référence sur la gestion de PostgreSQL sur Hébergement Web pour en savoir plus.Voici un exemple de configuration
config/database.yml
pour Ruby on Rails qui utilise la base de données par défaut.MySQL¶
MySQL est disponible pour une utilisation avec les Hébergement Web Gandi Ruby.
Paramètres de connexion :
Vous pouvez vous connecter au service de base de données MySQL via son socket Unix, disponible sur
/srv/run/mysqld/mysqld/mysqld.sock
. L’utilisateur par défaut estroot
et aucun mot de passe n’est requit par défaut. Cependant, vous devez créer des informations d’identification sûres pour une utilisation dans le monde réel. Vous pouvez également utiliser la base de données default_db pour des réglages rapides et des tests, car elle est automatiquement configurée lors de la création de l’instance.Vous pouvez créer autant de bases de données et d’utilisateurs de bases de données que vous le souhaitez ; vous n’êtes limité que par votre espace disque, que vous pouvez augmenter à tout moment jusqu’à 1 To.
Vous pouvez gérer votre base de données MySQL avec les outils shell standard (
mysql
,mysqldump
, etc.) via la console SSH, ou depuis la console d’administration web avec PHPMyAdmin. Consultez l’article de référence sur la gestion de MySQL sur Hébergement Web pour en savoir plus.Voici un exemple
config/database.yml
pour Ruby on Rails avec une base de données MySQL :Pousser votre application vers votre instance¶
Vous devez utiliser
git
pour pousser votre application vers votre instance et pour la déployer. Suivez les instructions ci-dessous pour en savoir plus.Créer un dépôt git local¶
Tout d’abord, dans le répertoire racine de votre projet sur votre machine locale, exécutez les commandes suivantes pour initialiser un repo Git pour suivre les changements de votre code :
$ git init $ git add . $ git commit -m "Initial commit"
Note
Rappelez-vous que votre arbre git devrait inclure au moins un fichier
config.ru
pour démarrer votre application. Il devrait également suivre les fichiersGemfile
etGemfile.lock
si vous souhaitez installer des dépendances.Déploiement de votre application¶
Note
Les instructions suivantes sont disponibles dans la page Déployer de votre page de gestion des instances. Vous y trouverez également la valeur de la variable
$GIT_URL
utilisée dans les exemples ci-dessous.Une fois que votre code est suivi par
git
localement, vous pouvez pousser et déployer vers votre instance.Pour déployer une branche ou une balise particulière (une branche
production
, par exemple), il suffit de la spécifier comme deuxième argument :$ git push gandi production $ ssh $GIT_URL deploy default.git production
Journaux et dépannage¶
La sortie standard (stdout) ainsi que les erreurs liées à l’exécution de l’application sont stockées dans les fichiers journaux suivants sur le disque de données de votre instance :
Ceci est utile, par exemple, pour vérifier que votre application a démarré correctement.
Cron jobs¶
Comme les autres familles d’Hébergement Web Gandi, il est possible d’exécuter des tâches planifiées (cron jobs) sur des instances Ruby. Les variables d’environnement définies par votre application sont également disponibles dans vos jobs cron (voir `internal_design`_pour plus de détails sur les variables d’environnement).
Exemple de cron job :
Pour plus d’informations sur cron jobs et l’Hébergement Web Gandi, consultez la documentation Anacron.
Conception interne¶
Les instances Ruby utilise Uwsgi pour exécuter le code de votre application. Apache est utilisé pour servir les fichiers statiques. “Apache <https://httpd.apache.org/>”_ servira les fichiers qui existent dans un répertoire nommé
public/
à la racine de votre projet et relaiera toutes les autres requêtes à Uwsgi.Les variables d’environnement suivantes sont assignées et disponibles dans votre application et dans les jobs cron :