PHP에서 웹 응용 프로그램을 작성할 때 아파치 모듈 (mod_php)과 같은 FCGI (php-fpm)와 같은 여러 모드에서 작동 할 수 있습니다. 이 모든 경우에 PHP 스크립트 애플리케이션을 편집 할 때 서버를 다시 시작할 필요없이 immediatelly로 업데이트됩니다. Ruby 웹 앱도 다른 모드 (예 : Unicorn + Nginx를 사용하는 FCGI)에서 작동 할 수 있음을 알고 있습니다. 그러나 Ruby 웹 앱을 시작하는 가장 일반적인 방법과이 모든 수단 (즉, 스크립트를 업데이트하기 위해 서버를 다시 시작해야하는 경우)에 대한 기술적 인 세부 사항, 해당 프로 시저 및 단점에 대해 알고 싶습니다.Ruby 웹 응용 프로그램 작업 모드
0
A
답변
1
루비 응용 프로그램을 작성하는 방법에는 여러 가지 고전적인 1990 년대 스타일의 CGI, FastCGI를, Mongrel 또는 Thin보다 직접 프로세스를 관리 할 수 Passenger 같은 실행 프로그램을 사용하는 현대, 권장되는 방법과 독립적 인 HTTP를 지원하는 프로세스가 있습니다.
Ruby on Rails에는 여러 가지 작동 모드가 있습니다. 기본값 인 두 개는 development
과 production
입니다.
- 아무것도
app/
또는config/routes.rb
각 요청에 대해 다시로드 :개발 에서 : 다음은 몇 가지 중요한 차이점이있다.
log/development.log
은 가능한 한 자세한 정보로 실행되는 각 쿼리를 기록합니다.- 애셋은 원시 형식으로 제공되며 언제든지 변경할 수 있습니다.
생산 에서 :
- 응용 한 번로드 및 캐시, 변경 사항은 다시 시작해야합니다.
log/production.log
파일에는 오류 및 중요한 알림 만 포함되어 있습니다.- 자산은 축소되고 압축되며 번들로 제공됩니다. 사소한 변경조차도 모든 것을 다시 포장해야합니다.
일반적으로 프로덕션 서버에서 스크립트를 편집하는 것은 좋지 않으므로 레일스 방식이 일반적으로 좋은 방법입니다. 신속하게 무언가를 반복해야하는 경우 로컬 복사본에서 수행하고 변경 사항을 서버에 적용하면 자신이 작동 할 것이라고 확신 할 수 있습니다.
서버에서 비상 사태를 실제로 해결해야하는 경우 코드를 편집하고 touch tmp/restart.txt
을 강제로 다시로드하면됩니다. 애셋을 변경하면 rake assets:precompile
을 실행하여 리 패키징해야합니다.
많은 것들과 마찬가지로 Rails는 권장되는 접근 방법을 쉽고 위험한 것은 어렵게 만듭니다.
관련 문제
- 1. 키오스크 모드 웹 응용 프로그램
- 2. Ruby 응용 프로그램 편집
- 3. ruby on rails 예약 웹 응용 프로그램
- 4. Ruby on rails 웹 응용 프로그램
- 5. 오프라인으로 작업 할 응용 프로그램 작성 (웹 응용 프로그램)
- 6. 웹 응용 프로그램 사용자 작업 로깅
- 7. 웹 응용 프로그램 흐름/반복 작업 문서화
- 8. 상용 웹 응용 프로그램 작업 디렉토리
- 9. Ruby Twitter 응용 프로그램
- 10. [ruby] 응용 프로그램 만들기
- 11. 웹 응용 프로그램 Android 응용 프로그램
- 12. 웹 응용 프로그램 웹 응용 프로그램
- 13. 웹 응용 프로그램 아키텍처 - 작업/작업 대기열이 필요합니까?
- 14. 작업 응용 프로그램
- 15. 응용 프로그램 시작시 작업
- 16. MFC 콘솔 모드 응용 프로그램
- 17. iOS 응용 프로그램의 단일 응용 프로그램 모드
- 18. 병합 Java 웹 응용 프로그램
- 19. 온라인 모드 및 오프라인 모드 응용 프로그램 만들기
- 20. Ruby on Rails 응용 프로그램 설치 프로그램
- 21. Heroku Ruby 응용 프로그램 오류
- 22. Ruby on Rails 응용 프로그램
- 23. 웹 응용 프로그램 용 SQL Compact 4 파일 모드
- 24. 웹 응용 프로그램 템플릿 생성기
- 25. ruby on rails 응용 프로그램 : 사용자 권한
- 26. C#에서 디버그 모드 응용 프로그램 시작
- 27. 전체 화면 모드 응용 프로그램 위에 비활성 응용 프로그램 표시
- 28. Ruby on Rails에서 채팅 응용 프로그램 구현
- 29. Ruby 배치 응용 프로그램 패키지 및 배포
- 30. 자바 웹 응용 프로그램 초기화 및 종료
대단원! RoR이 dev 모드에서 이러한 동작을 어떻게 달성하는지 설명 할 수 있습니까? 그것은 사용되는 서버에 따라 다르며 구현이 다르거 나 서버 독립적 인 기능입니까? 그리고 Sinatra와 같은 다른 프레임 워크는 어떻게됩니까? –
레일즈의 특징입니다. Sinatra는 훨씬 가볍고 기본적으로이 기능이 없기 때문에 서버를 다시 시작해야하지만 언제든지 [추가 할 수 있습니다] (http://www.sinatrarb.com/faq.html#reloading) 네가 정말로 원한다면. – tadman
고마워요! 그것은 매우 도움이됩니다. –