Jaki byłby rozsądny i logiczny katalog, w którym można wdrożyć moje produkcyjne aplikacje Railsowe w systemie Linux?
Niektórzy kandydaci ...
/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.
Co jest najmniej zadziwiającą, najbardziej normalną rzeczą do zrobienia tutaj?
(Informacje w tle - aplikacja Rails to pakiet kodu po stronie serwera napisany w języku Ruby wraz z public
katalogiem zawierającym JavaScript, CSS i może trochę HTML. Katalog public
jest mapowany na vhost Apache. Apache obsługuje kod Ruby przez moduł o nazwie Pasażer lub mod_rails
.)
Dzięki za pomoc. Myślę, że idę z tym /opt/deployed_rails_apps
. (Lubię długie, nazwy katalogów i uzupełnianie tabulatorów). /var/...
To także dobre miejsce, ale narzekałem na IT z trudem, gdy próbowałem tam wdrażać. Gdyby to była moja własna maszyna, mógłbym iść z /var
lub /srv
.
źródło
Odpowiedzi:
Myślę, że / opt byłoby miejscem dla takiej aplikacji . Zgadzam się z przestrzeganiem FHS, jak sugeruje chmeee, ale nie zgadzam się, że aplikacja Rails jest usługą samą w sobie.
źródło
W dystrybucjach CentOS Linux (a następnie RedHat), kiedy instalujesz pakiet httpd (dla Apache 2), tworzy
/var/www
i oczekuje, że twoje vhosts wskazują tutaj na twoją zawartość internetową. Domyślny vhost jest zwykle zrzucany/var/www/htdocs
, a kolejne witryny / aplikacje powinny być instalowane/var/www/sitename
.Rzeczywista lokalizacja nie powinno mieć znaczenia znacznie, ale to powszechne, aby zobaczyć
/opt/www/sitename
,/var/www/sitename
czy po prostu/opt/www
bądź/var/www
.Podałeś już kilka powodów, dla których niektóre inne lokalizacje (jak
/home
) nie są do tego odpowiednie.Osobiście wolę,
/var/www/sitename
ponieważ jest przyjazny dla Apache i Rails i jest ogólnosystemowy.źródło
Możesz postępować zgodnie ze standardem hierarchii systemów plików (FHS) i umieścić go w
EDYTOWAĆ:
Nie umieściłbym tego w
/opt
:Jego cel mówi:
Nie sądzę, aby opracowana aplikacja była „pakietem oprogramowania”.
Uzasadnieniem
/srv
jestRozumiem, że aplikacja railsowa jest skryptem cgi i powinna zostać umieszczona
/srv
.źródło
/srv
wydaje mi się najbardziej odpowiednim katalogiem. Używam/srv/rails/application_name
.Zazwyczaj umieszczam je w / opt / app_name.
źródło
W systemie opartym na debian / ubuntu takie aplikacje są zwykle instalowane w folderze / usr / share (tj. / Usr / share / ruby), ponieważ są to pliki nieskompilowane (które byłyby umieszczone w / usr / lib). Ponieważ twoja aplikacja nie jest standardową aplikacją, prawdopodobnie umieściłbyś ją w / usr / local / share, zapobiegając jej nadpisaniu przez jakiekolwiek aktualizacje systemu.
/ opt jest z pewnością także tutaj.
źródło
Trzymam moje wdrożenia
/home/www.example.com/application
Argumenty:
Strona główna będzie zawierać wszystkie ruchome części jednej witryny. Jeśli będę mieć więcej stron internetowych, będę wiedział, gdzie je znaleźć.
źródło