Ruby on Rails è un framework che consente di sviluppare applicazioni web in Ruby. Sul vostro Managed Flex Server vi offriamo le versioni più recenti di Ruby. Queste versioni vengono regolarmente aggiornate da noi.
La presente guida descrive in che modo potete attivare un’applicazione Ruby on Rails sul vostro Managed Flex Server.
Requisiti
Le applicazioni Ruby on Rails possono essere attivate a partire da Managed Flex Server M.
Creazione di un’applicazione Rails
In questa guida viene creata una semplice applicazione "Hello World" che fornisce la home page standard di Ruby on Rails.
Per ordinare le vostre applicazioni vi consigliamo di creare una cartella ~/app/ e, al suo interno, una sottocartella per ciascuna applicazione. In questo modo avrete sempre un perfetto ordine e una panoramica chiara. Per l’applicazione Rails creiamo quindi la cartella ~/app/railstest e passiamo al suo interno:
mkdir -p ~/app/railstest
cd ~/app/railstest
Nella cartella dell’applicazione appena creata ~/app/railstest create la struttura necessaria per la vostra applicazione. In questo esempio viene creato un semplice progetto Rails.
Al fine di installare Rails e di ritrovarlo in seguito, è necessario eseguire i seguenti comandi:
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
Dopodiché potete installare Rails:
gem install --no-document rails
rails new .
L’opzione --no-document disattiva l’installazione della documentazione supplementare, abbreviando di conseguenza la durata dell’installazione.
Alla fine, dovete configurare Rails per accettare il vostro dominio.
Per farlo, modificate il file ~/app/railstest/config/environnements/development.rb e aggiungete la seguente linea prima dell'ultimo "end":
config.hosts << "proprio-dominio.ch"
Integrazione
Funzionamento con il Custom Service Control
Il Custom Service Control (CSC) si può occupare del funzionamento e della gestione automatica della propria applicazione, ad esempio dell’avvio e dell’arresto in caso di interventi di manutenzione sul server.
La configurazione dell’app helloworld Rails nel CSC è molto semplice. Create dunque un nuovo custom service per l’applicazione Rails:
hpservices supervisord add railstest
Nel file ~/.services/supervisord/railstest/service.conf viene creato uno schema di configurazione per il nuovo servizio. Per l’applicazione Rails è necessario adeguare il comando e completare la variabile di ambiente, mentre tutti gli altri valori proposti possono essere adottati (rimuovere il punto e virgola all’inizio della riga).
[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";
Modalità di produzione
In questo esempio il server viene avviato nella modalità di sviluppo. Nella vostra applicazione finale, tuttavia, dovrete utilizzare la modalità di produzione, definendo RAILS_ENV=production come variabile di ambiente.
Con supervisorctl update potete attivare la nuova configurazione per la vostra applicazione Rails:
supervisorctl update
railstest: added process group
Attenzione: Se si verifica un errore, è necessario eseguire prima di tutto "hpservices supervisord start" una volta.
Per informazioni più dettagliate sull’uso e sulle possibilità disponibili con il CSC fate riferimento alla guida al Custom Service Control.
Configurazione del server web
Per rendere la vostra applicazione accessibile tramite HTTP(s), è necessario configurare il sito web nel pannello di controllo Hostpoint in modo che il server web inoltri tutte le richieste come proxy alla vostra applicazione.
Nel vostro pannello di controllo Hostpoint create un sito web del tipo "Proxy Nginx su applicazione propria":
- Indirizzo del server e porta
- La funzione proxy si aspetta che l’applicazione sia in ascolto all’indirizzo IPv4 di loopback 127.0.0.1 ed è quindi necessario indicare solo la porta: 8080
Ulteriori informazioni
Per richieste di supporto la preghiamo di usare invece questo modulo.