Server 버전 : 내장 아파치/2.2.22 (데비안) 서버 : 2013년 3월 4일 22시 5분 29초스트리밍 아파치 및 여객
Phusion 여객 버전 4.0.21
Alias /tester /var/www/tester/public
<Location /tester>
PassengerBaseURI /tester
PassengerAppRoot /var/www/tester
</Location>
<Directory /var/www/tester>
Allow from all
Options -MultiViews
#Enable response streaming
PassengerBufferResponse off
</Directory>
안녕하세요, Apache를 사용하는 동안 '스트리밍'에 문제가 있습니다. 다음 코드를 실행하려고하면 클라이언트에 보내기 전에 처리가 완료됩니다. 나는 CLI에서 얇은,시나, 또는 승객을 시작 응용 프로그램을 실행하는 경우, 그것은 다음 시간 이후 '바'를 스트리밍 할 것 'foo는'스트리밍합니다
#app.rb
require 'sinatra'
get '/' do
stream do |out|
out << "foo\n"
sleep 10
out << "bar\n"
end
end
.
Apache가 출력을 버퍼링하는 이유는 무엇입니까?
답변 해 주셔서 감사합니다. 내가 그 토끼 구멍을 내려 가기 전에; 나는 강력한 서버처럼 보였으므로 승객을 선택합니다. Ruby/Rails/Padrino 씬에 익숙하지 않으며, 일반적으로 Windows 시스템에서 작동합니다. IIS에서 Ruby를 제공하려고 시도하거나 심지어 Windows에서 Apache를 제공하려고 시도해도 작동하지 않습니다. 단순화하기 위해 서버를 구축해야하는 더 나은 플랫폼을 제안 할 수 있습니까? 여러 사이트를 호스팅 할 예정이며 대부분의 앱은 Padrino 기반이지만 일부 레일스가 될 것입니다. 아파치를 거치지 않고 Sinatra 앱을 실행하기 위해 '승객 출발'을 시작하면 페이지가 제대로 게재됩니다. – Hamptonite
여객은 서로 완전히 분리 된 3 가지 모드를 가지고 있습니다. Apache 모드, Nginx 모드 및 독립 실행 형 모드입니다. '승객 출발'은 독립 실행 형 모드에서만 실행됩니다. 이것은 설명서에 설명되어 있습니다. – Hongli