Skocz do zawartości
ImJustAskingDude

Konfiguracja Nginx-a pod Download Plikow

Polecane posty

Witam wszystkich,

 

ma ktos moze doswiadczenie, z ustawianiem Nginx-a pod pobieranie plikow ? Mianowicie, chcialbym ominac PHP, by konfiguracja wygladala tak, bym mogl w PHP pisac logike, ale samym nginx-em serwowac pliki.

( osoba probujaca sciagnac plik najpierw przechodzila by przez jakas logike w PHP, a nastepnie dostawala by link, czy cos takiego, ale najlepiej by bylo, gdyby po tej operacji link juz nie byl dostepny, albo zeby ten link zawsze przechodzil przez PHP, ale plik dalej byl serwowany przez Nginx )

 

Dowiedzialem sie juz, ze wysylajac response przez PHP, caly proces obsluguje PHP ( -FPM ), ale nie mam zadnego dowodu, ze tak naprawde jest. Jedyna wskazowka na to, to statystyki w HTOP-ie.

 

Niestety, na tym forum, ani ogolnie na internecie nie znalazlem specjalnie duzo informacji o tym.

 

P.S. Wie ktos moze, jak duze sa roznice miedzy serwowaniem przez PHP-FPM, a Nginx-em ? Czy te roznice mozna jakos zminimalizowac ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No, i to jest konkretna odpowiedz, dzieki wielkie.

 

Mam jednak kilka nastepnych pytan:

 

1. Jezeli moj plik jest kompletnie poza sciezka, do ktorej uzytkownik moze sie dostac, to czy musze ustawiac internal na tej sciezce ?

( powiedzmy, ze zapisuje pliki w katalogu /website/files, ale root w Nginx-ie mam ustawiony na /website/web, uzytkownik w tej sytuacji nie ma dostepu do files, prawda ? wiec jest od razu internal ? )

 

2. Czyli prawie cala operacja tutaj zalezy od aplikacji ? Od tego, zeby ustawila odpowiednie headery ? ( Uzywam symfony 2.X i widze, ze od razu to dodaje, wiec chyba powinno od razu dzialac ? )

 

Dzieki.

 

P.S. Zapisuje pliki tez za pomoca PHP, wiem ze to nie jest do konca optymalne, ale to w nginx-ie wyglada jeszcze gorzej niz download, przynajmniej z mojego doswiadczenia.

Edytowano przez ImJustAskingDude (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1. Możesz mieć różne URLe na różnych rootach. Np. zwykły root (/) na /website/web a np. /files na /website/files/.

 

2. Zależy jak chcesz żeby było. Logikę najłatwiej przerzucić na aplikację, a pliki na nginxa. XSendfile to tylko jeden ze sposobów, na które można zrealizować pobieranie plików przez coś zewnętrznego. Równie dobrze można kombinować naokoło, a nawet jakieś nginxowe proxy postawić... Pytanie tylko brzmi po co, skoro XSendfile jest najprostsze.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×