Apa yang akan menjadi direktori yang masuk akal dan logis untuk menyebarkan aplikasi Rails produksi saya pada sistem Linux?
Beberapa kandidat ...
/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.
Apa hal yang paling mencengangkan dan paling normal untuk dilakukan di sini?
(Info latar belakang - aplikasi Rails adalah kumpulan kode sisi server yang ditulis dalam Ruby bersama dengan public
dir yang berisi JavaScript, CSS, dan mungkin sedikit HTML. public
Dir tersebut dipetakan ke Apache vhost. Apache menangani kode Ruby melalui modul disebut Penumpang atau mod_rails
.)
Terima kasih atas bantuannya, semuanya. Saya pikir saya akan pergi dengan /opt/deployed_rails_apps
. (Saya suka panjang, nama direktori ekspositori, dan penyelesaian tab.) /var/...
Juga merupakan tempat yang bagus, tapi saya mendapatkan omelan keras dari IT ketika saya mencoba untuk menyebarkan barang-barang di sana. Jika itu adalah mesin saya sendiri, saya mungkin akan menggunakan /var
atau /srv
.
sumber
Jawaban:
Saya pikir / opt akan menjadi tempat untuk aplikasi seperti ini. Saya setuju dengan mengikuti FHS seperti yang disarankan oleh chmeee, tapi saya tidak setuju bahwa aplikasi Rails adalah layanan per se.
sumber
Pada distribusi CentOS Linux (dan selanjutnya RedHat), ketika Anda menginstal paket httpd (untuk Apache 2), itu menciptakan
/var/www
, dan mengharapkan vhosts Anda menunjuk ke konten web Anda di sini. Vhost default biasanya dibuang/var/www/htdocs
, dan situs / aplikasi selanjutnya harus dimasukkan/var/www/sitename
.Lokasi sebenarnya seharusnya tidak peduli banyak, tapi itu umum untuk melihat
/opt/www/sitename
,/var/www/sitename
, atau hanya/opt/www
atau/var/www
.Anda telah menyatakan beberapa alasan mengapa beberapa lokasi lain (seperti
/home
) tidak benar-benar cocok untuk ini.Secara pribadi, saya lebih suka
/var/www/sitename
karena ini ramah untuk Apache dan Rails, dan sistem-lebar.sumber
Anda mungkin ingin mengikuti Filesystem Hierarchy Standard (FHS) dan letakkan di
EDIT:
Saya tidak akan menempatkannya di
/opt
:Tujuannya mengatakan:
Saya tidak berpikir aplikasi yang dikembangkan adalah 'paket perangkat lunak'.
Alasannya
/srv
adalahSaya mengerti bahwa aplikasi rel adalah skrip cgi dan harus ditempatkan
/srv
.sumber
/srv
sepertinya ini adalah direktori yang paling pas untuk saya. Saya menggunakan/srv/rails/application_name
.Saya biasanya meletakkannya di / opt / app_name.
sumber
Dalam sistem berbasis debian / ubuntu aplikasi semacam itu biasanya dipasang di folder / usr / share (yaitu / usr / share / ruby), karena mereka adalah file yang tidak dikompilasi (yang akan masuk ke / usr / lib). Karena aplikasi Anda bukan aplikasi standar, Anda mungkin akan memasukkannya ke / usr / local / share agar tidak ditimpa oleh pembaruan sistem apa pun.
/ opt tentu juga kemungkinan di sini.
sumber
Saya menyimpan penyebaran saya
/home/www.example.com/application
Argumen:
Rumah akan berisi semua bagian bergerak dari satu situs web. Jika saya memiliki lebih banyak situs web, saya akan tahu di mana menemukannya.
sumber