Na moim komputerze deweloperskim używam portu 10524. Tak więc uruchamiam serwer:
rails s -p 10524
Czy jest sposób, aby zmienić domyślny port na 10524, aby nie musiał dodawać portu za każdym razem, gdy uruchamiam serwer?
ruby-on-rails
Pierre Olivier Martel
źródło
źródło
config/puma.rb
jeśli uruchamiasz domyślny serwer pumaOdpowiedzi:
Po pierwsze - nie edytuj niczego na swojej ścieżce klejnotów! Wpłynie to na wszystkie projekty, a później będziesz miał sporo problemów ...
W swoim projekcie edytuj w
script/rails
ten sposób:Zasada jest prosta - małpa łatasz runnera serwera - więc wpłynie to tylko na jeden projekt.
AKTUALIZACJA : Tak, wiem, że istnieje prostsze rozwiązanie ze skryptem bash zawierającym:
ale to rozwiązanie ma poważną wadę - jest nudne jak cholera.
źródło
alias rs='rails server -p 10524'
require 'rails/commands'
PO nowej rzeczy, którą wklejasz. W przeciwnym razie nadal będzie próbować portu 3000.alias rs
Lubię dołączyć następujące informacje do
config/boot.rb
:źródło
super
zamiast aliasu hack.super
jest używany zamiast aliasu, wywołuje niewłaściwą metodę. Wzywa::Rack::Server
wersję default_options.prepend
zamiast używać anonimowego modułualias
. Pozwala to na czyste użyciesuper
.Rails::Server
zostanie zdefiniowana w kontekstach, w których nie powinna (np. Uruchamianie konsoli Rails). Dlatego polecam umieścić kod na końcuapplication.rb
, chroniony rozszerzeniemif defined?(Rails::Server)
.Jeszcze jeden pomysł dla Ciebie. Utwórz zadanie rake, które wywołuje serwer rails z opcją -p.
wtedy zadzwoń
rake start
zamiastrails server
źródło
Łącząc dwie poprzednie odpowiedzi, dla Rails 4.0.4 (i nowszych, przypuszczalnie), to wystarczy na koniec
config/boot.rb
:źródło
config.action_mailer.default_url_options
, w przeciwnym razie nadal wskazuje port 3000.Używamy Pumy jako serwera WWW i dotenv do ustawiania zmiennych środowiskowych w fazie rozwoju. Oznacza to, że mogę ustawić zmienną środowiskową dla
PORT
i odwołać się do niej w konfiguracji Puma.Musisz jednak uruchomić aplikację za pomocą
foreman start
zamiastrails s
, w przeciwnym razie konfiguracja puma nie zostanie poprawnie odczytana.Podoba mi się to podejście, ponieważ konfiguracja działa w ten sam sposób w programowaniu i produkcji, po prostu zmieniasz wartość portu, jeśli to konieczne.
źródło
Zainspirowany przez Radka i Spencera ... Na Rails 4 (.0.2 - Ruby 2.1.0), udało mi się dodać to do config / boot.rb :
Cała inna konfiguracja w default_options jest nadal ustawiona, a przełączniki wiersza polecenia nadal zastępują wartości domyślne.
źródło
Rozwiązanie dla Rails 2.3 -
script/server
:źródło
require File.dirname(__FILE__) + '/../config/boot'
przedrequire 'rack/handler'
, aby zadziałało.Możesz zainstalować
$ gem install foreman
i użyć brygadzisty, aby uruchomić serwer, jak zdefiniowano wProcfile
:Możesz sprawdzić
foreman
dokumenty klejnotów tutaj: https://github.com/ddollar/foreman, aby uzyskać więcej informacjiZaletą tego podejścia jest nie tylko możliwość łatwego ustawienia / zmiany portu w konfiguracji i to, że nie wymaga to dużej ilości kodu do dodania, ale także możesz dodać różne kroki w tym,
Procfile
że brygadzista będzie działał za Ciebie, więc nie nie musisz przechodzić przez nie za każdym razem, gdy chcesz uruchomić aplikację, na przykład:Twoje zdrowie
źródło
Utwórz alias w swojej powłoce dla polecenia z określonym portem.
źródło
script/rails
. Dziękuję za to.