En mi máquina de desarrollo, uso el puerto 10524. Así que inicio mi servidor de esta manera:
rails s -p 10524
¿Hay alguna forma de cambiar el puerto predeterminado a 10524 para que no tenga que agregar el puerto cada vez que inicio el servidor?
ruby-on-rails
Pierre Olivier Martel
fuente
fuente
config/puma.rb
si se ejecuta el servidor por defecto pumaRespuestas:
Primero: ¡no edites nada en tu camino de gemas! Influirá en todos los proyectos, y tendrás muchos problemas más tarde ...
En su proyecto edite de
script/rails
esta manera:El principio es simple: está aplicando un parche mono al corredor del servidor, por lo que influirá en un solo proyecto.
ACTUALIZACIÓN : Sí, sé que hay una solución más simple con un script bash que contiene:
Pero esta solución tiene un serio inconveniente: es aburrida como el infierno.
fuente
alias rs='rails server -p 10524'
require 'rails/commands'
DESPUÉS de las cosas nuevas que pegue. De lo contrario, seguirá probando el puerto 3000.alias rs
Me gusta agregar lo siguiente a
config/boot.rb
:fuente
super
lugar de alias hack.super
se usa en lugar de alias, llama al método incorrecto. Llama a la::Rack::Server
versión de default_options.prepend
usar un módulo anónimo en lugar de usarloalias
. Esto permite un uso limpio desuper
.Rails::Server
que se defina en contextos cuando no debería serlo (por ejemplo, ejecutar la consola de Rails). Así que recomiendo poner el código al final deapplication.rb
, guardado con unif defined?(Rails::Server)
.Una idea más para ti. Cree una tarea de rastrillo que llame al servidor de rails con -p.
luego llame en
rake start
lugar derails server
fuente
Combinando dos respuestas anteriores, para Rails 4.0.4 (y superior, presumiblemente), esto es suficiente al final de
config/boot.rb
:fuente
config.action_mailer.default_url_options
, de lo contrario, todavía apunta al puerto 3000.Estamos usando Puma como servidor web y dotenv para establecer variables de entorno en el desarrollo. Esto significa que puedo establecer una variable de entorno
PORT
y hacer referencia a ella en la configuración de Puma.Sin embargo, tendrá que iniciar su aplicación con en
foreman start
lugar derails s
, de lo contrario, la configuración de puma no se lee correctamente.Me gusta este enfoque porque la configuración funciona de la misma manera en el desarrollo y la producción, simplemente cambia el valor del puerto si es necesario.
fuente
Inspirado por Radek y Spencer ... On Rails 4 (.0.2 - Ruby 2.1.0), pude agregar esto a config / boot.rb :
Todas las demás configuraciones en default_options todavía están establecidas, y los modificadores de la línea de comandos aún anulan los valores predeterminados.
fuente
Solución para Rails 2.3 -
script/server
:fuente
require File.dirname(__FILE__) + '/../config/boot'
antesrequire 'rack/handler'
para que funcione.Puede instalar
$ gem install foreman
y usar foreman para iniciar su servidor como se define en su meProcfile
gusta:Puede consultar
foreman
los documentos de gemas aquí: https://github.com/ddollar/foreman para obtener más informaciónEl beneficio de este enfoque no solo es que puede configurar / cambiar el puerto en la configuración fácilmente y que no requiere que se agregue mucho código, sino que también puede agregar diferentes pasos en el
Procfile
que el capataz se ejecutará para usted, así que no No tiene que pasar por ellas cada vez que quiera iniciar su aplicación, algo como:Salud
fuente
Cree un alias en su shell para el comando con un puerto especificado.
fuente
script/rails
. Gracias por eso.