На моей машине для разработки я использую порт 10524. Поэтому я запускаю свой сервер следующим образом:
rails s -p 10524
Есть ли способ изменить порт по умолчанию на 10524, чтобы мне не приходилось добавлять порт при каждом запуске сервера?
ruby-on-rails
Пьер Оливье Мартель
источник
источник
config/puma.rb
если запущен серверОтветы:
Во-первых, не редактируйте ничего в своем пути к драгоценным камням! Это повлияет на все проекты, и у вас будет много проблем позже ...
В вашем проекте отредактируйте
script/rails
так:Принцип прост - вы просто исправляете патч на сервере - так что это повлияет только на один проект.
ОБНОВЛЕНИЕ : Да, я знаю, что есть более простое решение со скриптом bash, содержащим:
но у этого решения есть серьезный недостаток - оно чертовски скучно.
источник
alias rs='rails server -p 10524'
require 'rails/commands'
ПОСЛЕ нового материала, который вы вставляете. В противном случае он все равно попробует порт 3000.alias rs
Я хотел бы добавить следующее к
config/boot.rb
:источник
super
вместо псевдонима взломать.super
вместо псевдонима используется неверный метод. Он вызывает::Rack::Server
версию default_options.prepend
использовать анонимный модуль вместо использованияalias
. Это позволяет чистое использованиеsuper
.Rails::Server
к тому, что он будет определен в контекстах, когда этого не должно быть (например, при запуске консоли Rails). Поэтому я рекомендую поставить код в концеapplication.rb
, охраняемый сif defined?(Rails::Server)
.Еще одна идея для вас. Создайте задачу rake, которая вызывает сервер rails с параметром -p.
тогда звоните
rake start
вместоrails server
источник
Объединяя два предыдущих ответа для Rails 4.0.4 (и выше, предположительно), этого достаточно в конце
config/boot.rb
:источник
config.action_mailer.default_url_options
, в противном случае он по-прежнему указывает на порт 3000.Мы используем Puma в качестве веб-сервера и dotenv для установки переменных среды в процессе разработки. Это означает, что я могу установить переменную окружения
PORT
и ссылаться на нее в конфигурации Puma.Однако
foreman start
вместо этого вам придется запускать приложениеrails s
, иначе конфигурация puma не будет прочитана должным образом.Мне нравится этот подход, потому что конфигурация работает одинаково при разработке и производстве, вы просто меняете значение порта, если это необходимо.
источник
Вдохновленный Радеком и Спенсером ... На Rails 4 (.0.2 - Ruby 2.1.0) я смог добавить это в config / boot.rb :
Все остальные настройки в параметрах default_options по-прежнему установлены, а параметры командной строки по-прежнему переопределяют значения по умолчанию.
источник
Решение для Rails 2.3 -
script/server
:источник
require File.dirname(__FILE__) + '/../config/boot'
раньше,require 'rack/handler'
чтобы это работало.Вы можете установить
$ gem install foreman
и использовать foreman для запуска вашего сервера, как определено в вашемProcfile
подобном:Вы можете проверить
foreman
документацию Gem здесь: https://github.com/ddollar/foreman для получения дополнительной информацииПреимущество этого подхода состоит не только в том, что вы можете легко установить / изменить порт в конфигурации и что он не требует большого количества кода для добавления, но также вы можете добавить различные шаги в том,
Procfile
что мастер будет работать для вас, так что вы не будете ' вам не нужно проходить через них каждый раз, когда вы хотите запустить приложение, например:ура
источник
Создайте псевдоним в вашей оболочке для команды с указанным портом.
источник
script/rails
. Спасибо за это.