Saya telah menyiapkan RoR lingkungan pada AWS' elastis kacang. Saya bisa ssh ke saya EC2 instance. My home direktori /home/ec2-pengguna, yang secara efektif kosong. Jika saya memindahkan direktori, ada juga /home/webapp direktori yang saya tidak memiliki akses ke.
Apakah ada cara untuk menjalankan menyapu perintah atau rel konsol saya elastic beanstalk contoh?
Jika saya mengetik rel konsol aku mendapatkan Penggunaan: rel baru APP_PATH [opsi]
Jika saya mengetik RAILS_ENV=produksi bundel exec rel konsol, saya mendapatkan "tidak Bisa menemukan Gemfile
"
Tidak ada solusi yang disebutkan di sini bekerja untuk saya, jadi saya dimasak sedikit script yang saya taruh di script/aws-konsol.
Anda dapat menjalankannya dari /var/aplikasi/direktori saat ini sebagai root:
eb ssh
cd /var/app/current
sudo script/aws-console
Naskah saya dapat ditemukan sebagai Inti here.
Tidak ada jawaban lain yang bekerja untuk saya, jadi saya pergi mencari - ini bekerja untuk saya sekarang elastis kacang 64bit amazon linux 2016.03 V2.1.2 ruby 2.2 (puma) stack
cd /var/app/current
sudo su
rake rails:update:bin
bundle exec rails console
yang mengembalikan saya diharapkan konsol
Loading production environment (Rails 4.2.6)
irb(main):001:0>
Saya ingin membuat sebuah eb_console
file yang di root saya rails app, kemudian chmod u+x
itu. Ini berisi berikut:
ssh -t ec2-user@YOUR_EC2_STATION.compute.amazonaws.com 'cd /var/app/current && bin/rails c'
Dengan cara ini, aku hanya harus menjalankan:
./eb_console
seperti aku akan berlari heroku menjalankan bundel exec rel c
.
Tidak satupun dari mereka bekerja untuk saya, termasuk aws-konsol script. Akhirnya saya akhirnya menciptakan script
di direktori /var/aplikasi/saat ini
dan kemudian menciptakan rel
file dalam direktori tersebut secara garis besar oleh jawaban ini yang lain JADI pertanyaan.
eb ssh myEnv
cd /var/app/current
sudo mkdir script
sudo vim script/rails
Menambahkan ini ke file dan simpan:
echo #!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
require 'rails/commands'
Kemudian membuatnya executable dan jalankan:
sudo chmod +x script/rails
sudo script/rails console
Dan itu bekerja.
Anda harus menemukan folder dengan anda Gemfile :p.
Untuk melakukan itu, saya akan melihat anda di web server config harus ada konfigurasi yang memberitahu anda di mana anda app directory.
Mungkin anda tahu di mana aplikasi anda.
Tapi jika anda don't tahu, saya akan mencoba untuk memberikan:
grep -i your_app_name /etc/apache/*
grep -i your_app_name /etc/apache/sites-enabled/*
Untuk mencari file yang mengandung your_app_name di Apache config.
Atau jika anda menggunakan nginx, ganti apache
di atas nginx
.
setelah anda menemukan folder aplikasi, cd ke dalamnya dan menjalankan RAILS_ENV=produksi bundel exec rel c
.
Pastikan bahwa aplikasi anda dikonfigurasi untuk berjalan di produksi di Apache atau nginx konfigurasi.