Na minha máquina de desenvolvimento, uso a porta 10524. Portanto, inicio o servidor da seguinte maneira:
rails s -p 10524
Existe uma maneira de alterar a porta padrão para 10524, para que eu não precise acrescentar a porta toda vez que iniciar o servidor?
ruby-on-rails
Pierre Olivier Martel
fonte
fonte
config/puma.rb
se estiver rodando servidor puma padrãoRespostas:
Primeiro - não edite nada no seu caminho de gema! Isso influenciará todos os projetos, e você terá muitos problemas mais tarde ...
No seu projeto, edite
script/rails
desta maneira:O princípio é simples - você faz o patch do macaco no corredor do servidor - para que ele influencie apenas um projeto.
UPDATE : Sim, eu sei que existe uma solução mais simples com o script bash que contém:
mas essa solução tem uma séria desvantagem - é chata como o inferno.
fonte
alias rs='rails server -p 10524'
require 'rails/commands'
depois que o novo material que você colar no Caso contrário, ele ainda vai tentar porta 3000..alias rs
Gostaria de acrescentar o seguinte a
config/boot.rb
:fonte
super
vez de alias hack.super
for usado em vez de alias, ele chamará o método errado. Chama a::Rack::Server
versão de default_options.prepend
usar um módulo anônimo em vez de usaralias
. Isso permite um uso limpo desuper
.Rails::Server
que seja definida em contextos quando não deveria (por exemplo, executando o console do Rails). Portanto, recomendo colocar o código no final deapplication.rb
, guardado com umif defined?(Rails::Server)
.Mais uma ideia para você. Crie uma tarefa de rake que chame o servidor rails com o -p.
depois chame em
rake start
vez derails server
fonte
Combinando duas respostas anteriores, para o Rails 4.0.4 (e superior, presumivelmente), isso basta no final de
config/boot.rb
:fonte
config.action_mailer.default_url_options
, caso contrário, ele ainda está apontando para a porta 3000.Estamos usando o Puma como servidor da Web e o dotenv para definir variáveis de ambiente no desenvolvimento. Isso significa que eu posso definir uma variável de ambiente
PORT
e referenciá-la na configuração do Puma.No entanto, você precisará iniciar seu aplicativo em
foreman start
vez derails s
, caso contrário, a configuração do puma não será lida corretamente.Eu gosto dessa abordagem porque a configuração funciona da mesma maneira no desenvolvimento e na produção, você apenas altera o valor da porta, se necessário.
fonte
Inspirado por Radek e Spencer ... No Rails 4 (.0.2 - Ruby 2.1.0), pude anexar isso ao config / boot.rb :
Todas as outras configurações em default_options ainda estão definidas e as opções de linha de comando ainda substituem os padrões.
fonte
Solução para Rails 2.3 -
script/server
:fonte
require File.dirname(__FILE__) + '/../config/boot'
antesrequire 'rack/handler'
para que funcionasse.Você pode instalar
$ gem install foreman
e usar o foreman para iniciar seu servidor conforme definido em seuProcfile
gosto:Você pode verificar os
foreman
documentos da gema aqui: https://github.com/ddollar/foreman para obter mais informaçõesO benefício dessa abordagem é que você não apenas pode configurar / alterar a porta na configuração facilmente e que não requer muito código a ser adicionado, mas também pode adicionar etapas diferentes para
Procfile
que o capataz o execute para que você não Não é necessário analisá-los toda vez que você deseja iniciar seu aplicativo, algo como:Felicidades
fonte
Crie um alias no seu shell para comando com uma porta especificada.
fonte
script/rails
. Obrigado por isso.