현재 Ruby on Rails를 배우고 있습니다. 현재 내 랩톱에서 모든 작업을 수행합니다. 그러나 나는 모든 "현실 세계"상황에서 사이트를 보유 할 전용 서버에 연결한다는 것을 알고 있습니다.웹 개발 학습 env
여기 내 질문이 있습니다. 내가 사용하는 컴퓨터에서 개발하는 것과 다른 서버에서 웹 사이트를 실행하는 것의 장단점은 무엇입니까?
현재 Ruby on Rails를 배우고 있습니다. 현재 내 랩톱에서 모든 작업을 수행합니다. 그러나 나는 모든 "현실 세계"상황에서 사이트를 보유 할 전용 서버에 연결한다는 것을 알고 있습니다.웹 개발 학습 env
여기 내 질문이 있습니다. 내가 사용하는 컴퓨터에서 개발하는 것과 다른 서버에서 웹 사이트를 실행하는 것의 장단점은 무엇입니까?
로컬 개발의 문제점은 일반적으로 인프라에 대해 신경 쓰지 않는다는 것입니다. 예를 들어 프론트 엔드 웹 서버 나 우리의 개발 환경에 어떤 보석이 설치되어 있는지 잊어 버렸습니다. 프로덕션 환경을 실제로 시뮬레이트하려면 apache webserver + Passenger (승객은 mod_rails, Apache 웹 서버의 레일을 실행하는 모듈)를 설치해야합니다.
내가 제공하는 몇 가지 팁은 다음과 같습니다. 프로덕션 환경에서 사용하는 것과 동일한 sql 서버를 설치하십시오 (sqlite3을 사용하여 개발하고 mysql을 실행하는 환경에 두지 마십시오). 개발 워크 스테이션에서 apache + passenger를 로컬로 사용하고 당신이 개발을 시작한 이래로 설치 한 모든 문서 (아마도 명령 젬 목록의 출력은 여러분이 사용하는 것을 식별하는데 도움이 될 것입니다.)
내가하고 싶은 것은 다음과 같습니다. 필요한 모든 소프트웨어가 필요한 실제 OS에서 실행되는 가상 머신 (가상 박스)을 실행합니다. 가상 기기. 첫 번째 테스트 이후이 접근법을 사용하면 내 응용 프로그램이 어떻게 프로덕션 환경에서 작동하는지 알 수 있으며 향후에는 너무 많은 놀라움을 피할 수 있습니다.
결론 : 인프라에 대해 생각하고 일관성을 유지하며 일찍 배포하십시오. 이 3 단계를 통해 RoR 개발에 성공할 수있는 좋은 기회를 갖게됩니다.
글쎄, 차이점이 없습니다. 일단 레일 애플리케이션을 완성하면 완전히 배치 할 준비가됩니다! 레일 규칙!
아마 레일 서버 문제를 실행하는 것입니다! 따라서 스크립트/서버를 사용하여 컴퓨터에서 응용 프로그램을 실행하는 경우 웹 프론트 서버에서 Passenger와 같은 것을 사용해야합니다.
나는 모든 개발 작업을 로컬에서 수행합니다. (나는 과거에 다른 환경에서 원격 개발 작업을 해왔지만, 정말 고통 스럽다 ... J2EE 내가 너를보고있다).
로컬과 원격 사이의 설정 차이가 문제 일 수 있지만 레일스와 루비는이 문제를 많이 처리합니다.
대상 배포를 반영하는 특정 Ruby 및 GEM 버전으로 환경을 설정하려면 RVM (Ruby Version Manager)을 사용합니다. 반짝이는 새로운 Gem Bundler를 사용하여 응용 프로그램 종속성의 목록을 만들 수 있습니다.
배포 된 환경과 동일한 데이터베이스를 로컬로 사용하는 것이 좋습니다. DB 사이에 미묘한 차이가 있습니다. 단순한 시스템에서는 그다지 문제가되지 않지만 여러 모델에서 복잡한 쿼리를 작성하거나 집계 함수를 사용하면 원격 서버에서 직접 디버깅 할 수 있습니다.
스테이징 및 테스트를 위해 무료 Heroku 계정을 사용하여 작업을 배포 및 확인합니다 ... 설치가 쉽고 멋진 체크를 제공합니다.
승객이란 무엇이며 어떤 역할을합니까? –
AKA mod_rails. Apache 플러그인을 사용하여 레일 앱을 실행할 수 있습니다. env * .rb 파일에서 config.gem '모든 gem'을 가지고 웹 서버에서해야 할 일은 아파치 용 가상 호스트 용 앱의 공개 폴더를 정의한 다음 마이그레이션을 실행하는 것입니다. 생산 및 레이크 보석 : 설치! – amrnt