¿Cuál sería un directorio razonable y lógico en el que desplegar mis aplicaciones Rails de producción en un sistema Linux?
Algunos candidatos ...
/var/rails <= There's a /var/www so this would be consistent with that
pattern. But I.T. guys have complained about stuff in /var
before.
/home/my_home_dir/rails <= OK, not /var, but I'm not the only developer.
Seems like it really ought to be a systemwide
location.
/home/rails <= I don't know. That just seems weird.
/rails <= Seems even weirder.
¿Qué es lo menos sorprendente y lo más normal que se puede hacer aquí?
(Información de fondo: una aplicación Rails es un montón de código del lado del servidor escrito en Ruby junto con un public
directorio que contiene JavaScript, CSS y quizás un poco de HTML. El public
directorio está asignado a un servidor Apache. Apache maneja el código Ruby a través de un módulo llamado Pasajero o mod_rails
.)
Gracias por toda la ayuda. Creo que voy a ir con /opt/deployed_rails_apps
. (Me gustan los nombres de directorio expositivos largos y la finalización de pestañas). /var/...
También es un buen lugar, pero me quejé severamente de TI cuando intenté implementar cosas allí. Si fuera mi propia máquina, podría ir con /var
o /srv
.
fuente
Respuestas:
Creo / opt sería el lugar para una aplicación como esta. Estoy de acuerdo con seguir el FHS según lo sugerido por chmeee, pero no estoy de acuerdo con que una aplicación Rails sea un servicio per se.
fuente
En las distribuciones CentOS Linux (y posteriormente RedHat), cuando instala el paquete httpd (para Apache 2), crea
/var/www
y espera que sus vhosts apunten aquí a su contenido web. El vhost predeterminado generalmente se descarga/var/www/htdocs
, y los sitios / aplicaciones posteriores deben colocarse/var/www/sitename
.La ubicación real no debería importar mucho, pero es común ver
/opt/www/sitename
,/var/www/sitename
o, simplemente,/opt/www
o/var/www
.Ya ha indicado algunas de las razones por las cuales algunas de las otras ubicaciones (como
/home
) no son realmente adecuadas para esto.Personalmente, prefiero
/var/www/sitename
ya que es amigable con Apache y Rails, y es de todo el sistema.fuente
Es posible que desee seguir el estándar de jerarquía del sistema de archivos (FHS) y colocarlo en
EDITAR:
No lo colocaría en
/opt
:Su propósito dice:
No creo que una aplicación desarrollada sea un 'paquete de software'.
La razón de ser
/srv
esEntiendo que una aplicación de rieles es un script cgi y debe colocarse en ella
/srv
.fuente
/srv
parece el directorio más adecuado. Estoy usando/srv/rails/application_name
.Generalmente los pongo en / opt / app_name.
fuente
En el sistema basado en Debian / ubuntu, tales aplicaciones generalmente se instalan en la carpeta / usr / share (es decir / usr / share / ruby), ya que son archivos no compilados (que irían a / usr / lib). Dado que su aplicación no es una aplicación estándar, probablemente la coloque en / usr / local / share para evitar que se sobrescriba con las actualizaciones del sistema.
/ opt es ciertamente también una posibilidad aquí.
fuente
Mantengo mis implementaciones en
/home/www.example.com/application
Los argumentos:
Inicio contendrá todas las partes móviles de un solo sitio web. Si tengo más sitios web sabré dónde encontrarlos.
fuente