Pada mesin pengembangan saya, saya menggunakan port 10524. Jadi saya memulai server saya dengan cara ini:
rails s -p 10524
Apakah ada cara untuk mengubah port default ke 10524 jadi saya tidak perlu menambahkan port setiap kali saya memulai server?
ruby-on-rails
Pierre Olivier Martel
sumber
sumber
config/puma.rb
jika menjalankan server puma defaultJawaban:
Pertama - jangan edit apa pun di jalur permata Anda! Ini akan memengaruhi semua proyek, dan Anda akan memiliki banyak masalah nanti ...
Dalam proyek Anda edit
script/rails
dengan cara ini:Prinsipnya sederhana - Anda menambal pelari server - sehingga hanya mempengaruhi satu proyek.
UPDATE : Ya, saya tahu bahwa ada solusi yang lebih sederhana dengan skrip bash yang mengandung:
tetapi solusi ini memiliki kelemahan serius - itu membosankan sekali.
sumber
alias rs='rails server -p 10524'
require 'rails/commands'
SETELAH barang baru yang Anda tempel. Jika tidak, ia masih akan mencoba port 3000.alias rs
Saya ingin menambahkan yang berikut ini ke
config/boot.rb
:sumber
super
alih-alih alias retas.super
digunakan sebagai ganti alias, itu memanggil metode yang salah. Ini memanggil::Rack::Server
versi default_options.prepend
menggunakan modul anonim alih-alih menggunakanalias
. Ini memungkinkan penggunaan bersihsuper
.Rails::Server
menjadi didefinisikan dalam konteks ketika seharusnya tidak (misalnya menjalankan konsol Rails). Jadi saya sarankan meletakkan kode di akhirapplication.rb
, dijaga denganif defined?(Rails::Server)
.Satu lagi ide untukmu. Buat tugas menyapu yang memanggil server rel dengan -p.
lalu panggil
rake start
alih-alihrails server
sumber
Menggabungkan dua jawaban sebelumnya, untuk Rails 4.0.4 (dan lebih tinggi, mungkin), ini sudah cukup di akhir
config/boot.rb
:sumber
config.action_mailer.default_url_options
, kalau tidak itu masih menunjuk ke port 3000.Kami menggunakan Puma sebagai server web, dan dotenv untuk mengatur variabel lingkungan dalam pengembangan. Ini berarti saya dapat mengatur variabel lingkungan untuk
PORT
, dan referensi dalam konfigurasi Puma.Namun, Anda harus memulai aplikasi
foreman start
alih - alihrails s
, jika tidak konfigurasi puma tidak dapat dibaca dengan benar.Saya suka pendekatan ini karena konfigurasi bekerja dengan cara yang sama dalam pengembangan dan produksi, Anda hanya perlu mengubah nilai port jika perlu.
sumber
Terinspirasi oleh Radek dan Spencer ... On Rails 4 (.0.2 - Ruby 2.1.0), saya dapat menambahkan ini ke config / boot.rb :
Semua konfigurasi lain di default_options masih diatur, dan switch-line perintah masih mengesampingkan default.
sumber
Solusi untuk Rails 2.3 -
script/server
:sumber
require File.dirname(__FILE__) + '/../config/boot'
sebelumnyarequire 'rack/handler'
agar bisa berfungsi.Anda dapat menginstal
$ gem install foreman
, dan menggunakan mandor untuk memulai server Anda seperti yang didefinisikan dalamProcfile
suka Anda :Anda dapat memeriksa
foreman
dokumen permata di sini: https://github.com/ddollar/foreman untuk info lebih lanjutManfaat dari pendekatan ini adalah Anda tidak hanya dapat mengatur / mengubah port di konfigurasi dengan mudah dan tidak membutuhkan banyak kode untuk ditambahkan, tetapi Anda juga dapat menambahkan langkah-langkah berbeda di
Procfile
mana mandor akan berjalan untuk Anda sehingga Anda tidak perlu tidak harus pergi meskipun mereka setiap kali Anda ingin memulai aplikasi Anda sesuatu seperti:Bersulang
sumber
Buat alias di shell Anda untuk perintah dengan port yang ditentukan.
sumber
script/rails
. Terima kasih untuk itu.