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.rbsi 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/railsesta 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 rsMe gusta agregar lo siguiente a
config/boot.rb:fuente
superlugar de alias hack.superse usa en lugar de alias, llama al método incorrecto. Llama a la::Rack::Serverversión de default_options.prependusar un módulo anónimo en lugar de usarloalias. Esto permite un uso limpio desuper.Rails::Serverque 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 startlugar derails serverfuente
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
PORTy hacer referencia a ella en la configuración de Puma.Sin embargo, tendrá que iniciar su aplicación con en
foreman startlugar 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 foremany usar foreman para iniciar su servidor como se define en su meProcfilegusta:Puede consultar
foremanlos 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
Procfileque 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.