[RUBY-ON-RAILS] 어떻게 개발에 레일 3 서버의 기본 포트를 변경하려면?
RUBY-ON-RAILS어떻게 개발에 레일 3 서버의 기본 포트를 변경하려면?
나는 내 서버에 이런 식으로 시작 그래서 내 개발 컴퓨터에, 나는 포트 10524.을 사용 :
rails s -p 10524
나는 포트에게 내가 서버를 시작할 때마다 추가 할 필요가 없습니다 것입니다, 그래서 10524의 기본 포트를 변경하는 방법이 있나요?
해결법
-
==============================
1.첫째 - 당신의 보석 경로에 편집 아무것도하지 않습니다! 그것은 모든 프로젝트에 영향을 미칠 것이며, 나중에 많은 문제가있는 것입니다 ...
첫째 - 당신의 보석 경로에 편집 아무것도하지 않습니다! 그것은 모든 프로젝트에 영향을 미칠 것이며, 나중에 많은 문제가있는 것입니다 ...
프로젝트 편집 스크립트에서 / 이런 식으로 레일 :
#!/usr/bin/env ruby # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. APP_PATH = File.expand_path('../../config/application', __FILE__) require File.expand_path('../../config/boot', __FILE__) # THIS IS NEW: require "rails/commands/server" module Rails class Server def default_options super.merge({ :Port => 10524, :environment => (ENV['RAILS_ENV'] || "development").dup, :daemonize => false, :debugger => false, :pid => File.expand_path("tmp/pids/server.pid"), :config => File.expand_path("config.ru") }) end end end # END OF CHANGE require 'rails/commands'
원리는 간단하다 - 당신은 원숭이 패치 서버 주자입니다 - 그것은 단지 하나의 프로젝트에 영향을 미칠 것이다 있도록.
UPDATE : 네,이 (가) bash는 스크립트가 포함와 간단한 해결책이 있다는 것을 알고있다 :
#!/bin/bash rails server -p 10524
하지만이 솔루션은 심각한 단점이있다 - 그것은 지옥으로 지루합니다.
-
==============================
2.나는에 설정 / boot.rb 다음과 같은 추가하고자 :
나는에 설정 / boot.rb 다음과 같은 추가하고자 :
require 'rails/commands/server' module Rails class Server alias :default_options_alias :default_options def default_options default_options_alias.merge!(:Port => 3333) end end end
-
==============================
3.당신을 위해 한 번 더 생각. 호출이 -p와 서버를 레일하는 레이크 작업을 만듭니다.
당신을 위해 한 번 더 생각. 호출이 -p와 서버를 레일하는 레이크 작업을 만듭니다.
task "start" => :environment do system 'rails server -p 3001' end
다음 통화 레이크 대신 레일 서버의 시작
-
==============================
4.설정 / boot.rb의 끝에서 (아마도, 최대)이 접미사를 레일 4.0.4에 대한 이전의 두 답변을 결합 :
설정 / boot.rb의 끝에서 (아마도, 최대)이 접미사를 레일 4.0.4에 대한 이전의 두 답변을 결합 :
require 'rails/commands/server' module Rails class Server def default_options super.merge({Port: 10524}) end end end
-
==============================
5.우리는 개발에 설정된 환경 변수에 웹 서버 및 dotenv로 푸마를 사용하고 있습니다. 이 방법은 내가 PORT에 대한 환경 변수를 설정하고,이 푸마의 설정에 참조 할 수 있습니다.
우리는 개발에 설정된 환경 변수에 웹 서버 및 dotenv로 푸마를 사용하고 있습니다. 이 방법은 내가 PORT에 대한 환경 변수를 설정하고,이 푸마의 설정에 참조 할 수 있습니다.
# .env PORT=10524 # config/puma.rb port ENV['PORT']
그러나 그렇지 않으면 퓨마 설정이 제대로 읽을되지 않습니다, 대신 레일의의 주임 시작하여 응용 프로그램을 시작해야합니다.
구성은 개발 및 생산에 동일한 방식으로 작동하기 때문에 필요한 경우 당신은 단지 포트의 값을 변경,이 방법을 좋아한다.
-
==============================
6.라덱와 스펜서에 의해 영감을 ... 레일 4 (.0.2 - 루비 2.1.0),이에 대한 설정 / boot.rb 추가 할 수 있었다 :
라덱와 스펜서에 의해 영감을 ... 레일 4 (.0.2 - 루비 2.1.0),이에 대한 설정 / boot.rb 추가 할 수 있었다 :
# config/boot.rb # ...existing code require 'rails/commands/server' module Rails # Override default development # Server port class Server def default_options super.merge(Port: 3100) end end end
default_options의 다른 모든 구성은 여전히 설정 및 명령 줄은 여전히 재정의 기본값을 전환된다.
-
==============================
7.레일 2.3 솔루션 - 스크립트 / 서버 :
레일 2.3 솔루션 - 스크립트 / 서버 :
#!/usr/bin/env ruby require 'rack/handler' module Rack::Handler class << WEBrick alias_method :old_run, :run end class WEBrick def self.run(app, options={}) options[:Port] = 3010 if options[:Port] == 3000 old_run(app, options) end end end require File.dirname(__FILE__) + '/../config/boot' require 'commands/server'
-
==============================
8.당신처럼 Procfile에 정의 된 $ 보석이 당신의 서버를 시작 감독 및 사용의 감독을 설치 설치할 수 있습니다 :
당신처럼 Procfile에 정의 된 $ 보석이 당신의 서버를 시작 감독 및 사용의 감독을 설치 설치할 수 있습니다 :
web: bundle exec rails -p 10524
추가 정보를 원하시면 https://github.com/ddollar/foreman : 현재 주임 보석 문서를 확인하실 수 있습니다
이 방법의 장점은 추가 할 많은 코드를 필요로하지 않습니다하지만 당신은 당신이 돈 때문에 감독이 당신을 위해 실행하는 Procfile에서 다른 단계를 추가 할 수 있습니다뿐만 아니라, 쉽게 설정에서 포트를 변경 / 설정할 수 있으며 't은 그들이 비록 당신이 당신에게 응용 프로그램 같은 뭔가를 시작할 때마다 갈 필요가 :
bundle: bundle install web: bundle exec rails -p 10524 ... ...
건배
-
==============================
9.지정된 포트 명령 쉘에서 별칭을 만듭니다.
지정된 포트 명령 쉘에서 별칭을 만듭니다.
from https://stackoverflow.com/questions/3842818/how-to-change-rails-3-server-default-port-in-develoment by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 3 레일 : 어떻게 Ajax 호출에 "redirect_to"에? (0) | 2020.02.07 |
---|---|
[RUBY-ON-RAILS] 어떻게 해결하기 위해 Windows에서 "인증서 확인 실패"? (0) | 2020.02.07 |
[RUBY-ON-RAILS] 때 하나는 "has_many을 :을 통해"사용해야 레일의 관계? (0) | 2020.02.07 |
[RUBY-ON-RAILS] 에 WEBrick 반응이 매우 느립니다. 어떻게 속도를하려면? (0) | 2020.02.06 |
[RUBY-ON-RAILS] 레일 + MySQL의 OSX에 : 라이브러리로드되지 : libmysqlclient.18.dylib를 (0) | 2020.02.06 |