Auf meinem Entwicklungscomputer verwende ich Port 10524. Also starte ich meinen Server folgendermaßen:
rails s -p 10524
Gibt es eine Möglichkeit, den Standardport in 10524 zu ändern, damit ich den Port nicht jedes Mal anhängen muss, wenn ich den Server starte?
ruby-on-rails
Pierre Olivier Martel
quelle
quelle
config/puma.rb
wenn Standard-Puma-Server ausgeführt wirdAntworten:
Erstens - bearbeite nichts in deinem Edelsteinpfad! Es wird alle Projekte beeinflussen und Sie werden später viele Probleme haben ...
Bearbeiten Sie in Ihrem Projekt Folgendes
script/rails
:Das Prinzip ist einfach: Sie patchen den Server-Runner mit Affen - es beeinflusst also nur ein Projekt.
UPDATE : Ja, ich weiß, dass es eine einfachere Lösung mit Bash-Skript gibt, das Folgendes enthält:
Aber diese Lösung hat einen schwerwiegenden Nachteil - sie ist höllisch langweilig.
quelle
alias rs='rails server -p 10524'
require 'rails/commands'
NACH dem neuen Material, das Sie einfügen, einfügen. Andernfalls wird Port 3000 weiterhinalias rs
Ich möchte Folgendes anhängen
config/boot.rb
:quelle
super
anstelle von Alias Hack.super
anstelle von Alias verwendet wird, wird leider die falsche Methode aufgerufen. Es ruft die::Rack::Server
Version von default_options auf.prepend
ein anonymes Modul anstelle von verwendenalias
. Dies ermöglicht eine saubere Verwendung vonsuper
.Rails::Server
in Kontexten definiert, in denen dies nicht der Fall sein sollte (z. B. Ausführen der Rails-Konsole). Daher empfehle ich, den Code am Ende von zu setzenapplication.rb
, geschützt mit einemif defined?(Rails::Server)
.Noch eine Idee für dich. Erstellen Sie eine Rake-Task, die den Rails-Server mit -p aufruft.
dann anrufen
rake start
stattrails server
quelle
Die Kombination von zwei vorherigen Antworten für Rails 4.0.4 (und vermutlich höher) reicht am Ende von
config/boot.rb
:quelle
config.action_mailer.default_url_options
, sonst zeigt es immer noch auf Port 3000.Wir verwenden Puma als Webserver und dotenv , um Umgebungsvariablen in der Entwicklung festzulegen . Dies bedeutet, dass ich eine Umgebungsvariable für festlegen
PORT
und in der Puma-Konfiguration darauf verweisen kann.Sie müssen Ihre App jedoch
foreman start
stattdessen mit startenrails s
, da sonst die Puma-Konfiguration nicht richtig gelesen wird.Ich mag diesen Ansatz, weil die Konfiguration in Entwicklung und Produktion genauso funktioniert. Sie ändern bei Bedarf einfach den Wert des Ports.
quelle
Inspiriert von Radek und Spencer ... Auf Rails 4 (.0.2 - Ruby 2.1.0) konnte ich dies an config / boot.rb anhängen :
Alle anderen Konfigurationen in default_options sind weiterhin festgelegt, und Befehlszeilenoptionen überschreiben weiterhin die Standardeinstellungen.
quelle
Lösung für Schienen 2.3 -
script/server
:quelle
require File.dirname(__FILE__) + '/../config/boot'
vorher bewegen,require 'rack/handler'
damit es funktionierte.Sie können
$ gem install foreman
Foreman installieren und Foreman verwenden, um Ihren Server wie folgt zu startenProcfile
:Sie können die
foreman
Gem-Dokumente hier überprüfen : https://github.com/ddollar/foreman für weitere InformationenDer Vorteil dieses Ansatzes besteht nicht nur darin, dass Sie den Port in der Konfiguration einfach festlegen / ändern können und dass nicht viel Code hinzugefügt werden muss, sondern dass Sie auch verschiedene Schritte hinzufügen können, die
Procfile
der Vorarbeiter für Sie ausführt, damit Sie dies nicht tun. Sie müssen sie nicht jedes Mal durchgehen, wenn Sie Ihre Anwendung starten möchten.Prost
quelle
Erstellen Sie in Ihrer Shell einen Alias für den Befehl mit einem angegebenen Port.
quelle
script/rails
. Dank dafür.