Sur ma machine de développement, j'utilise le port 10524. Je démarre donc mon serveur de cette façon:
rails s -p 10524
Existe-t-il un moyen de changer le port par défaut en 10524 pour ne pas avoir à ajouter le port à chaque fois que je démarre le serveur?
ruby-on-rails
Pierre Olivier Martel
la source
la source
config/puma.rb
si vous exécutez le serveur puma par défautRéponses:
Tout d'abord, ne modifiez rien dans votre chemin de gemme! Cela influencera tous les projets, et vous aurez beaucoup de problèmes plus tard ...
Dans votre projet, modifiez de
script/rails
cette façon:Le principe est simple - vous êtes en train de patcher le serveur runner - il n'influencera donc qu'un seul projet.
MISE À JOUR : Oui, je sais qu'il existe une solution plus simple avec un script bash contenant:
mais cette solution a un sérieux inconvénient - c'est ennuyeux comme l'enfer.
la source
alias rs='rails server -p 10524'
require 'rails/commands'
APRÈS les nouveaux éléments que vous collez. Sinon, il essaiera toujours le port 3000.alias rs
J'aime ajouter ce qui suit à
config/boot.rb
:la source
super
place du hack d'alias.super
est utilisé à la place de l'alias, il appelle la mauvaise méthode. Il appelle la::Rack::Server
version de default_options.prepend
utiliser un module anonyme au lieu d'utiliseralias
. Cela permet une utilisation propre desuper
.Rails::Server
à se définir dans des contextes où elle ne devrait pas l'être (ex: exécution de la console Rails). Je recommande donc de mettre le code à la fin deapplication.rb
, gardé avec unif defined?(Rails::Server)
.Encore une idée pour vous. Créez une tâche de râteau qui appelle le serveur rails avec l'option -p.
puis appelez
rake start
au lieu derails server
la source
En combinant deux réponses précédentes, pour Rails 4.0.4 (et plus, probablement), cela suffit à la fin de
config/boot.rb
:la source
config.action_mailer.default_url_options
, sinon il pointe toujours vers le port 3000.Nous utilisons Puma comme serveur Web et dotenv pour définir les variables d'environnement en développement. Cela signifie que je peux définir une variable d'environnement pour
PORT
et la référencer dans la configuration Puma.Cependant, vous devrez démarrer votre application avec
foreman start
au lieu derails s
, sinon la configuration de puma ne sera pas lue correctement.J'aime cette approche car la configuration fonctionne de la même manière en développement et en production, il suffit de changer la valeur du port si nécessaire.
la source
Inspiré par Radek et Spencer ... Sur Rails 4 (.0.2 - Ruby 2.1.0), j'ai pu ajouter ceci à config / boot.rb :
Toutes les autres configurations dans default_options sont toujours définies et les commutateurs de ligne de commande remplacent toujours les valeurs par défaut.
la source
Solution pour Rails 2.3 -
script/server
:la source
require File.dirname(__FILE__) + '/../config/boot'
avantrequire 'rack/handler'
pour que cela fonctionne.Vous pouvez installer
$ gem install foreman
et utiliser Foreman pour démarrer votre serveur comme défini dans votreProcfile
like:Vous pouvez consulter la
foreman
documentation sur les gemmes ici: https://github.com/ddollar/foreman pour plus d'informationsL'avantage de cette approche est non seulement que vous pouvez définir / modifier facilement le port dans la configuration et qu'il ne nécessite pas beaucoup de code pour être ajouté, mais vous pouvez également ajouter différentes étapes dans le
Procfile
que le contremaître s'exécutera pour vous afin que vous ne le fassiez pas. Vous devez les parcourir chaque fois que vous souhaitez démarrer votre application, quelque chose comme:À votre santé
la source
Créez un alias dans votre shell pour la commande avec un port spécifié.
la source
script/rails
. Merci pour ça.