[RUBY-ON-RAILS] 어떻게 레일 4.2 개발 서버의 IP를 기본 바인딩을 변경하려면?
RUBY-ON-RAILS어떻게 레일 4.2 개발 서버의 IP를 기본 바인딩을 변경하려면?
릴리스 노트는 언급 한 바와 같이 4.2로 우리 팀의 레일 응용 프로그램을 업그레이드 한 후, 기본 IP는 0.0.0.0에서 로컬 호스트로 변경에 서버 바인딩 레일.
우리는 방랑으로 개발하고, 개발 서버 호스트 시스템에서 브라우저에서 직접 액세스 할 수 있도록합니다.
우리는 여전히 서버를 시작 레일의로 간단하게 STH를 사용할 수 있도록하는 것이, 더 우아한 해결책이 있는지 입력하는 대신 레일의 -b 0.0.0.0마다 지금부터의, 궁금하다. 혹시:
이 뒤에 진짜 목표는 내가 업그레이드로 인해 누락 된 -b 0.0.0.0 부분에 사람들이 끊임없이 레일 서버를 다시 시작해야합니다 그 결함을 피하고, 우리 팀들 사이에서 원활하게 할 할 것입니다.
3000 호스트 시스템에 : 나는 localhost를 방문 할 때 나는 방랑 포트 포워딩을 시도했지만 여전히 연결이 거부 얻을. 내가 시도한 두 가지 구성 라인했다 :
config.vm.network "forwarded_port", guest: 3000, host: 3000
config.vm.network "forwarded_port", guest: 3000, guest_ip: '127.0.0.1', host: 3000
공식 문서에서 모든 관련 지침을 찾지 못했습니다. 어떤 도움을 이해할 수있을 것이다.
해결법
-
==============================
1.나는 여기에 같은 문제에 봉착하고 오늘은 더 나은 솔루션을 발견했다. 그냥 설정 / boot.rb이 코드를 추가하며 방랑와 함께 작동합니다.
나는 여기에 같은 문제에 봉착하고 오늘은 더 나은 솔루션을 발견했다. 그냥 설정 / boot.rb이 코드를 추가하며 방랑와 함께 작동합니다.
require 'rails/commands/server' module Rails class Server def default_options super.merge(Host: '0.0.0.0', Port: 3000) end end end
PS : 기반으로 :이 답변
-
==============================
2.당신은 사용자 정의 명령과 함께 Procfile을 실행하는 주임을 사용할 수 있습니다 :
당신은 사용자 정의 명령과 함께 Procfile을 실행하는 주임을 사용할 수 있습니다 :
# Procfile in Rails application root web: bundle exec rails s -b 0.0.0.0
이제 레일 응용 프로그램을 시작합니다 :
foreman start
감독에 대한 좋은 점은 당신이 (sidekiq 같은 mailcatcher)를 Procfile 다른 응용 프로그램을 추가 할 수 있다는 것입니다.
감독에 대한 나쁜 것은 당신이 대신 레일의의 시작 포먼 실행에 팀 훈련을해야한다는 것입니다.
-
==============================
3.같은 문제를 만났다. 찾을 블로그 만들기는 모든 인터페이스 4.2 서버를 기울인다 레일.
같은 문제를 만났다. 찾을 블로그 만들기는 모든 인터페이스 4.2 서버를 기울인다 레일.
다음 설정 / boot.rb 추가
require 'rails/commands/server' module Rails class Server alias :default_options_bk :default_options def default_options default_options_bk.merge!(Host: '0.0.0.0') end end end
-
==============================
4.(: 레이크 -T 또는 레일 g 모델 사용자 예) 당신은 설정 / 모든 명령은 레이크 속성 및 레일 실패 boot.rb의 기본 옵션을 넣으면! 그래서, APPEND이 빈에 / 라인 require_relative '../config/boot'후 레일과 코드는 서버 명령을 레일에만 실행됩니다
(: 레이크 -T 또는 레일 g 모델 사용자 예) 당신은 설정 / 모든 명령은 레이크 속성 및 레일 실패 boot.rb의 기본 옵션을 넣으면! 그래서, APPEND이 빈에 / 라인 require_relative '../config/boot'후 레일과 코드는 서버 명령을 레일에만 실행됩니다
if ARGV.first == 's' || ARGV.first == 'server' require 'rails/commands/server' module Rails class Server def default_options super.merge(Host: '0.0.0.0', Port: 3000) end end end end
빈은 /이 같은 파일 외모 레일 :
#!/usr/bin/env ruby APP_PATH = File.expand_path('../../config/application', __FILE__) require_relative '../config/boot' # Set default host and port to rails server if ARGV.first == 's' || ARGV.first == 'server' require 'rails/commands/server' module Rails class Server def default_options super.merge(Host: '0.0.0.0', Port: 3000) end end end end require 'rails/commands'
-
==============================
5.푸마 3.12.1와 레일 5.1.7를 위해 선택한 대답은,하지만 난 내 설정 / puma.rb 파일에 다음을 추가하여하지 작업을 수행 않습니다
푸마 3.12.1와 레일 5.1.7를 위해 선택한 대답은,하지만 난 내 설정 / puma.rb 파일에 다음을 추가하여하지 작업을 수행 않습니다
set_default_host '0.0.0.0' # Note: Must come BEFORE defining the port port ENV.fetch('PORT') { 3000 }
나는 DSL 파일을 검사하여 결정. 그것은 그 파일에 instance_eval 사용하기 때문에 그것을 할 수있는 다른 방법은 아마이있다, 그러나 이것은 나에게 가장 합리적인를 보였다.
-
==============================
6.여기 내가 사용하는 간단한 해결책이다. 그 사용하여 당신을 위해하지 작업을 수행하는 경우 이미 같은 / 필요에 dotenv와 퓨마 - Heroku가, 그래서 다음이 당신을 위해하지 않을 수 있습니다.
여기 내가 사용하는 간단한 해결책이다. 그 사용하여 당신을 위해하지 작업을 수행하는 경우 이미 같은 / 필요에 dotenv와 퓨마 - Heroku가, 그래서 다음이 당신을 위해하지 않을 수 있습니다.
/config/puma.rb
plugin :heroku
Gemfile
gem 'dotenv-rails', groups: [:development, :test]
.env의
PORT=8080
지금은 레일의에 모두 dev에 생산을 시작할 수 있습니다.
-
==============================
7.푸마로 전환 예컨대, 설정 / puma.rb에서 포트를 지정 :
푸마로 전환 예컨대, 설정 / puma.rb에서 포트를 지정 :
port ENV.fetch("PORT") { 3000 }
분명히이 지정된 포트에 대한 0.0.0.0에 바인딩됩니다 https://github.com/puma/puma/issues/896
-
==============================
8.당신이 환경 변수를 관리하기 위해 고정 표시기 또는 다른 도구를 사용하는 경우, 당신은 당신이 바인딩에 필요한 IP에 호스트 환경 변수를 설정할 수 있습니다.
당신이 환경 변수를 관리하기 위해 고정 표시기 또는 다른 도구를 사용하는 경우, 당신은 당신이 바인딩에 필요한 IP에 호스트 환경 변수를 설정할 수 있습니다.
예: HOST = 0.0.0.0
당신은 부두 노동자를 사용하거나 감독을 사용하는 경우 .env의 경우 파일을 docker.env에 추가합니다.
from https://stackoverflow.com/questions/28668436/how-to-change-the-default-binding-ip-of-rails-4-2-development-server by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] MySQL의 :: 오류 : 지정된 키가 너무 깁니다; 최대 키 길이는 1000 바이트입니다 (0) | 2020.02.06 |
---|---|
[RUBY-ON-RAILS] 종이 클립 예외 : 종이 클립 :: AdapterRegistry :: NoHandlerError (0) | 2020.02.06 |
[RUBY-ON-RAILS] WHERE IN 절을 사용하여 인덱스를 사용하지 않는 MySQL은? (0) | 2020.02.06 |
[RUBY-ON-RAILS] PG undefinedtable 오류와 관련하여 사용자가 존재하지 않습니다 (0) | 2020.02.06 |
[RUBY-ON-RAILS] ExecJS :: 사용자 # 지수 RuntimeError에 (의 RoR) (0) | 2020.02.06 |