Ruby on Rails est un framework permettant de développer des applications Web en Ruby. Nous vous proposons les dernières versions de Ruby sur votre Managed Flex Server. Ces versions sont régulièrement mises à jour par nos soins.
Ce manuel décrit comment mettre en service une application Ruby on Rails sur votre Managed Flex Server.
Exigences
Les applications Ruby on Rails peuvent être mises en service à partir de Managed Flex Server M.
Création d’une application Rails
Ce manuel présente la simple création d’une application «Hello World» qui fournit la page d’accueil standard de Ruby on Rails.
Nous vous conseillons de créer un dossier ~/app/ pour vos propres applications et d’y créer un sous-dossier pour chacune d’entre elles. Vous avez ainsi toujours un ordre propre et un aperçu clair. Pour l’application Rails, nous créons donc le dossier ~/app/railstest et basculons dans ce dossier:
mkdir -p ~/app/railstest
cd ~/app/railstest
Dans le dossier d’application ~/app/railstest nouvellement créé, créez maintenant la structure requise pour votre application. Cet exemple présente la mise en place d’un projet Rails simple.
Pour que Rails puisse être installé et retrouvé plus tard, vous devez exécuter les commandes suivantes:
mkdir ~/.gem
echo 'export PATH=$PATH:$(ruby -e "puts Gem.user_dir")/bin' >> ~/.profile
echo 'export GEM_HOME=$(ruby -e "puts Gem.user_dir") ' >> ~/.profile
source ~/.profile
Vous pouvez ensuite installer Rails:
gem install --no-document rails
rails new .
L’option --no-document désactive l’installation de documentation supplémentaire et réduit ainsi la durée de l’installation.
Enfin, vous devez configurer Rails pour qu'il accepte votre domaine.
Pour ce faire, modifiez le fichier ~/app/railstest/config/environnements/development.rb et ajoutez la ligne suivante avant le dernier "end":
config.hosts << "votre-propre-domaine.ch"
Intégration
Fonctionnement avec le Custom Service Control
Le Custom Service Control (CSC) peut s’occuper du fonctionnement et de la gestion automatique de votre application, par exemple le démarrage et l’arrêt pendant les travaux de maintenance sur votre serveur.
La configuration de l’appli Rails helloworld dans le CSC est très simple. Pour ce faire, créez un nouveau custom service pour l’application Rails:
hpservices supervisord add railstest
Un cadre de configuration pour le nouveau service est alors créé dans le fichier ~/.services/supervisord/railstest/service.conf. Pour l’application Rails, la command doit être ajustée et la variable Environment complétée, vous pouvez sinon reprendre toutes les valeurs suggérées (enlever le point-virgule au début de la ligne).
[program:railstest]
command=%(ENV_HOME)s/app/railstest/bin/rails server -p 8080 -b 127.0.0.1 ; the program (can take args)
directory=%(ENV_HOME)s/app/railstest/ ; directory to cwd to before exec (default no cwd)
autostart=true ; start application at supervisord start (default: true)
stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/railstest/log/default.log
stdout_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10 ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/railstest/log/default.err
stderr_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10 ; number of stderr logfile backups (0 means none, default 10)
environment=PATH="/usr/local/bin:/usr/bin:/bin:%(ENV_HOME)s/.gem/bin",GEM_HOME="%(ENV_HOME)s/.gem";
Mode productif
Dans cet exemple, le serveur est démarré en mode développement. Dans votre application finale, vous devriez toutefois utiliser le mode production en définissant RAILS_ENV=production comme variable d’environnement.
supervisorctl update vous permet d’activer la nouvelle configuration pour votre application Rails:
supervisorctl update
railstest: added process group
Attention: En cas d'erreur, "hpservices supervisord start" doit d'abord être exécuté une fois.
Pour de plus amples détails sur l’utilisation et les possibilités qui vous sont offertes par le CSC, consultez le manuel du Custom Service Control.
Configuration du serveur Web
Si vous voulez maintenant rendre votre application accessible via HTTP(s), vous devez configurer votre site Web dans le control panel Hostpoint afin que le serveur Web transfère les requêtes à votre application comme proxy.
Dans votre Control Panel Hostpoint, créez un site Web de type «Proxy Nginx sur application propre»:
- Adresse et port du serveur
- La fonction proxy s’attend à ce que votre application écoute l’adresse loopback IPv4 127.0.0.1 et vous devez donc uniquement indiquer le port: 8080
Informations complémentaires
Pour envoyer une demande d'assistance au support, merci d'utiliser ce formulaire-ci.