Users of Ruby Simple Hosting instances should have:
Nota: El uso de la instancia Ruby depende de herramientas estándares como bundler y git y deben ser instalados localmente .
Para ser compatible con Rack, los archivos de su aplicación deben ajustarse a un diseño específico que contengan los siguientes archivos y directorios:
config.ru
: Un archivo Rackup como el mencionado en documentación Rackpublic/
: Si tiene archivos estáticos deben estar en este directorio Aplicaciones Ruby on Rails (rieles > 2 ) deberían funcionar sin manipulación.
Ejemplo de la estructura de archivos:
. ├── config.ru └── public └── robots.txt
A fin de que las dependencias de la aplicación Ruby a ser instalados, debe declararlos en un Gemfile colocada en la raíz de su proyecto. This file must match the format indicated in the Bundler documentation.
Ejemplo Gemfile:
source 'https://rubygems.org' gem 'rails', '~> 4.0.0' gem 'debugger', group: :development
Note: Durante la instalación de dependencias, los gems especificados en los gupos development
y test
no se instalarán.
Una vez que sus dependencias han sido declaradas, se debe generar un archivo Gemfile.lock
ejecutando el comando bundle install
. Este será el archivo usado para instalar las dependencias que se usarán en su instancia.
Igual como las otras familias de instancias en Simple Hosting, instancias Ruby funciona con tres bases de datos three: MySQL, PostreSQL and MongoDB.
Parámetros:
Un ejemplo de Ruby on Rails configurado con una base de datos PostreSQL (config/database.yml
):
producción: adapter: postgresql database: ruby-example host: localhost port: 5432 username: hosting-db password: encoding: unicode pool: 5
Parámetros:
Un ejemplo de Ruby on Rails configurado con una base de datos MySQL (config/database.yml
):
production: adapter: mysql2 database: ruby-example socket: /srv/run/mysqld/mysqld.sock username: tony password: micelli encoding: utf-8 pool: 5
Parámetros:
Un ejemplo de Ruby on Rails configurado con una base de datos MongoDB (mongoid.yml
):
production: sessions: default: database: ruby-example hosts: - localhost:27017
La instancia Ruby utiliza Git para empujar su aplicación a su instancia y sea implementada.
Primero, en el directorio raíz de su proyecto en su maquina local, debe ejecutar los comandos siguientes para iniciar un repo Git para grabar los cambios en el código:
$ git init $ git add . $ git commit -m "Initial commit"
Una vez que su código es seguido por git localmente, se debe empujar a su instancia.
En el comando siguiente, se debe reemplazar INSTANCE_ID
con el ID de su instancia, y DC_ID
con el ID del datacenter donde recide su instancia (dc0
para Paris, dc1
para Baltimore, dc2
para Luxembourg):
$ git remote add gandi git+ssh://INSTANCE_ID@git.DC_ID.gpaas.net/default.git $ git push gandi master
Luego, ejecute el comando de implementación:
$ ssh INSTANCE_ID@git.DC_ID.gpaas.net deploy
$ ssh INSTANCE_ID@git.DC_ID.gpaas.net deploy production
Salida estándar (stdout ), así como los errores relacionados con la ejecución de la aplicación se almacenan en los siguientes archivos de registro en el disco de datos de la instancia :
/srv/data/var/log/www/uwsgi.log
/lamp0/var/log/www/uwsgi.log
Esto es útil, sobre todo , para comprobar que su aplicación se ha iniciado correctamente.
Al igual que otras familias de instancia Hosting simples , es posible ejecutar las tareas programadas ( cron jobs ) en instancias de Ruby. Las variables de entorno definidas por la aplicación también están disponibles en sus trabajos de cron (vea internal_design para más detalles sobre las variables de entorno).
Ejemplo de cron job:
1@hourly 0 test (cd /srv/data/web/vhosts/default; rake my_namespace:some_useful_task)
Para mas información sobre cron jobs y Simple Hosting, vea http://wiki.gandi.net/en/simple/anacron.
Instancias Ruby usan Uwsgi para ejecutar el código de su aplicación. Apache se usa para servir archivos estáticos. Los archivos en el directorio llamados “public/” en la raíz de su proyecto son servidos por Apache y retransmitirá las otras solicitudes a Uwsgi.
Las variables de entorno son asignados y disponibles en su aplicación y en los trabajos de cron:
Actualmente Redis no es soportado en Simple Hosting. Si le gustaría ver Redis parte del show, déjenoslo saber en wishlist.