Yolcu veya nginx için fazladan '$ PATH` tanımlayın


1

Ruby on Rails uygulamasına hizmet veren nginx ve Yolcu ile bir sunucum var. Bundler kullanır.

Bu yığında bir yerde, $PATHolur /var/www/APPNAME/shared/bundle/ruby/1.8/bin/. Bu dizin gerçekten de çalıştırılabilir taşlar içeriyor.

Ancak başvurumda da /usr/binmevcut olması gerekir $PATH. Daha spesifik: Ben çalıştırmak gerekiyor idendtify, convertve mogrify; imagemagick komutları.

Şimdilik, bu imagemagick ikili dosyalarını şu adreslerden buldum /var/www/APPNAME/shared/bundle/ruby/1.8/bin/:

ls /var/www/APPNAME/shared/bundle/ruby/1.8/bin/ -ahl
#...
lrwxrwxrwx 1 root root   16 May  8 16:22 convert -> /usr/bin/convert
-rwxr-xr-x 1 ber  root  379 Jan 11 08:58 erubis
#...

Yine de, gerçek bir çözümden çok daha hızlı bir kesmek.

Ekstra dizinleri nasıl atayabilirim $PATH? Peki bunu nerede yapmalıyım? Yolcu, nginx, Rails uygulaması?

Yanıtlar:


1

Yakut seçenekleri bunu yapmak için iyi bir yoldur. $ LOAD_PATH’ın / usr / bin olduğunu belirtin.

-Idirectory     specify $LOAD_PATH directory (may be used more than once)

Ne de olsa orada olduğu şey bu.

Yapabileceğiniz başka bir şey de dizini $: global psuedo değişkeninin üzerine itmek.

$:.push("/usr/bin")

Bu, uygulamanızda ortam kişiselleştirmenizin olduğu her yere sığacaktır.

Bunu Rails Uygulaması'nın kendisi için yapabilirim, çünkü endişelendiğin yer orasıydı. Üzerinde kontrol sahibi olduğun şey bu.


Teşekkürler! Ruby uygulamasına en aşina olduğum halde, yığının tamamına erişebiliyorum (kendim yüklediğim gibi). Burada çalışan daha fazla uygulama var, bu yüzden bunu yığında mümkün olduğu kadar düşük yapılandırmayı tercih ederim: nginx veya yolcu. Ve (şu anki gibi) Bundle'a girmedim :).
berkes

Kontrolünüzün ne olduğunu söylediğimde, kullandığınız mücevherlerin aksine konuşuyordum. Taşlar güncellenir ve ayarınızın üzerine yazılabilir. Yazdığınız uygulamanın kontrolü sizde ve bu tip değişikliklerin üzerine yazılmayacak. Demek istediğim buydu.
vgoff,

Muhtemelen yolunu .bashrc dosyasına eklemeye bakardım.
31’de

Bashrc? www-data kullanıcısının kabuğu yok, değil mi? Yoksa bir şey mi kaçırıyorum?
berkes

1
www-data: x: 33: 33: www-data: / var / www: / bin / sh sistemimde ve / bin / sh işini yapmak için bir kabuk olarak ...
vgoff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.