2013-07-04 8 views
8

Rozumiem, że Octopress został zaprojektowany do działania jako samodzielna aplikacja internetowa.Połączyć aplikację Octopress i Rails 4.0?

Mam osobistą stronę internetową i chcę dodać do niej bloga iz wielu powodów chciałbym użyć do tego Octopressa. Zamiast dwóch osobnych aplikacji i repo w git, chciałbym zintegrować te aplikacje razem.

Czy istnieje niezawodny sposób na zintegrowanie Octopress z istniejącą aplikacją Rails 4.0?

Czy najlepiej jest zamontować Octopress jako aplikację do montażu w szafie wewnątrz routera Rails, czy jest lepszy sposób?

+3

Ośmiornica generuje pliki statyczne, czy nie wystarczy umieścić je w folderze publicznym aplikacji Rails? – Wukerplank

+0

@Wukerplank Octopress jest w rzeczywistości aplikacją 'sinatra/base', więc uważam, że możliwe jest' zamontowanie OctopressApp,: at => '/ blog'' wewnątrz pliku routs.rb' Rails. – professormeowingtons

+0

Nie, kiedy przejdziesz do swojego folderu Octopress i uruchomisz 'rake generate', otrzymasz folder' public' zawierający twojego bloga. Octopress to opakowanie dla Jekyll (http://jekyllrb.com), które samo w sobie jest statycznym generatorem stron. Część Sinatra, o której mówisz, to podgląd i rozwój. – Wukerplank

Odpowiedz

1

Myślę, że najlepiej jest mieć serwer frontendowy, taki jak nginx, jako odwrotny serwer proxy i przekierowanie/proxy.

Więc masz nginx.conf coś wzdłuż linii:

server { 
    listen 80; 
    server_name domain.com; 
    location/{ 
    # ... proxy config stuff to rails ... 
    } 
} 

server { 
    listen 80; 
    server_name blog.mydomain.com; 
    location/{ 
    root /to/octopress/static/folder 
    } 
} 

Mój przykład jest w przypadku korzystania z subdomeny blog.domain.com. Ale oczywiście jeśli masz domain.com/blog, to nadal będzie działać, po prostu wykonaj pewne poprawki w pliku nging.conf.

Powiązane problemy