Ruby on Rails + Apache

Poradna při řešení nejrůznějších problémů spojených s provozem virtuálních serverů.
Zamčeno
HonzaN

Ruby on Rails + Apache

Příspěvek od HonzaN »

Dobrý den,
mám ( Rails 3.2.3 Ruby 1.9.3 a Apache2 ) takový problém stáhl jsem si aplikaci Rails-Carrierwave-jQuery-File-Upload a snažím se ji sprovoznit na serveru!!! Aplikace funguje do té doby než má použít javascript, který provází upload obrázku. Přečetl jsem toho hodně o nastavení production.rb a zdá se, že se všechny soubory překompilovali do složky public/assets. Tyto soubory jsou s příponou .js.gz. Problém je asi v Apache protože to nedokáže otevřít! Chtěl jsem se zeptat, jestli už jste se s tímhle setkal a co by jste doporučil? Vše uvítám!!!

přikládám nastavení Apache


# Forum hlavni stranky na subdomene
<VirtualHost (moje ip):80>
ServerName stranky.cz
DocumentRoot /u/apps/galerie/current/public
ServerAlias jinestranky.cz
<Directory /u/apps/galerie/current/public>
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>

<LocationMatch "^/assets/.*$">
Header unset ETag
FileETag None
# RFC says only cache for 1 year
ExpiresActive On
ExpiresDefault "access plus 1 year"
</LocationMatch>

Nebo doporučujete přejít na Nginx. Slyšel jsem, že je v tomto ohledu lepší než Apache!!!
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Ruby on Rails + Apache

Příspěvek od 4smart.cz »

Ačkoliv nejsem Ruybsta, přidám do tohoto vlákna pár svých poznámek.
Především je důležité si uvědomit, že javascript neběží na serveru, ale na klientovi (v prohlížeči).
Pokud nefunguje javascript, je možné, že kód používá nějaké prohlížečem nepodporované funkce.

Pokud javascript asynchronně komunikuje se serverem (Ajax) a přitom zpracování na klientovi (v prohlížeči)
tohoto kódu je OK (viz chybová konzola - Chrome, Firefox, ...), pak by problém měl být zalogován na serveru.
Tak by mělo být zcela jasně možné zjistit, kde je jádro problému. Na serveru by měly být logovány všechny přístupy,
včetně těch asynchronnich (z javascriptového kódu).

Pokud nikde není ani zmíňka o nějakém problému a přitom na serveru je zalogován nějaký asynchronní přístup (bez problémů),
pak by se dalo říct, že javascript volá nějakou serverem nepodporovanou funkci, jinými slovy, aplikace na serveru není implementována tak, aby
toto volání uměla obsloužit.

O jakou aplikaci, kterou se snažíte rozchodit, se přesně jedná ?

J.Marák
Zamčeno