2014-10-16 1 views
0

나는 정말 루비가 처음이다. 방금 phusion 여객을 설치했고 우분투에서 apache2로 작업하고 있습니다. https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html#_tutorial_example_writing_and_deploying_a_hello_world_rack_application루비 앱의 공용 디렉토리의 목적은 무엇입니까?

대중 디렉토리가 무엇인지 내가 대해 궁금하다 :

나는이 자습서를 성공적으로 수행 한? 나는 puts "hello world"을 간단히 가지고있는 home.ru을 넣으려고했다. 내가 그랬을 때 브라우저 http://localhost:81/home.ruhello world 대신에 puts "hello world"으로 인쇄했습니다. 공용 디렉토리는 서버 측 스크립트를위한 것입니까? 그렇다면, 내가 뭘 잘못하고 있니?

감사

+1

Rack 응용 프로그램은 단일 puts 문 이상을 필요로합니다. 시작하려면 [Sinatra] (http://www.sinatrarb.com/)를 사용하는 것이 좋습니다. – tadman

+0

Ruby 앱에는 공개 디렉토리가 없습니다. Ruby 기반 Rails와 프레임 워크를 사용하는 다른 웹 앱에는 공개 디렉토리가 있습니다. 루비는 다른 것들을 구현하는 데 사용되는 언어입니다. 구별하는 것이 중요합니다. –

+0

그리고, 나는 Sinatra를 배우기 위해 두 번째 @ tadman의 제안을했습니다. 아파치, nginx, 승객 또는 유니콘의 번거 로움없이 웹 스택을 사용하여 발을 젖게하는 훌륭한 방법입니다. –

답변

3

public 디렉토리는 우리가 정적 파일 부르는 것입니다. 그들은 어떤 종류의 처리도하지 않고 웹 서버에서있는 그대로의 상태로 제공되며 대개 브라우저에 의해 캐시됩니다.

예를 들어 동적 콘텐츠가없는 웹 페이지를 만들고 싶다면 home.ru 파일처럼 HTML 및 CSS 파일을 드롭하면 바로 액세스 할 수 있습니다.

Here's documentation for Rack::Static.

+1

또한 * code *와 * content * 사이의 엄격한 분리를 제공하는 이점이 있습니다. 다른 시스템에서는 종종 너무 흐려집니다. 이렇게하면 잘못 구성된 서버 또는 URL을 추측하고 구성 파일을 잡아 당기는 사람들이 응용 프로그램 소스 코드가 누출 될 위험이 줄어 듭니다. – tadman

관련 문제