Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Broken Symlink - wpływ na serwer
Forum PHP.pl > Forum > Serwery WWW
Tomplus
Witam,

Piszę w sprawie rady i wyjaśnienia co jest nie tak z tymi symlinkami, cyzli powiązaniami symbolicznymi na serwerach unixowych.

Dowiedziałem się że broken symlinks są niewydajne dla serwera WWW, z jakiego powodu? Tego już nie dowiedziałem się.
Testując na przykładzie:
BS daje błąd 403, czy brak dostępu
a odnośnik do pliku fizycznego, da wynik 404, czyli nie znalezione.


Moim pomysłem było zastosowanie symlinków do plików zdjęć znajdujących się w innym katalogu na serwerze, oczywiście z odpowiednimi uprawnieniami. Przykładowo:

/home/www/public_html/mojadomena.pl/image/~zdjecie.jpg -> http://mojadomena.pl/image/zdjecie.jpg
faktycznie miejsce na serwerze to: /home/www/image/zdjecie.jpg i do niego jest robione powiązanie.

Ogólnie coś takiego działa bez problemu. Jednak nie wiem jakie niesie to ze sobą niebezpieczeństwa i prosiłbym o pomoc w wyjaśnieniu.
Pyton_000
a po co tak kombinujesz? Nie lepiej będzie ustawić alias w vhost?
Tomplus
Wiem, stosuje tak. Ale chodzi mi o sam problem, a nie inne rozwiązanie.

W moim przypadku domena to img.mojadomena.pl/zdjecie.jpg - najkrótsza droga, i uniwersalne dla wielu stron powiązanych z serwisem.
Pyton_000
Symlink to nie jest dobre rozwiązanie. chyba że podlinkujesz cały katalog
Tomplus
Każdy odpowiada tak samo "To nie jest dobre rozwiązanie." Ale bez żadnych argumentów dlaczego? Właśnie te argumenty dlaczego jest to zły pomysł mnie najbardziej interesuje.

Jaki to ma wpływ na wydajność serwera, jakie niesie niebezpieczeństwa.
Pyton_000
Kwestie wygody. Same symlinks nie sa jakoś strasznie niebezpieczne. Ot wszystko rozchodzi się o kwestie uprawnień.
Pilsener
Cytat
Same symlinks nie sa jakoś strasznie niebezpieczne
- o ile w gąszczu tychże nie powstanie coś, co ktoś kiedyś ładnie nazwał "odwołaniem cyklicznym" - powoduje to bardzo trudne do zdebugowania błędy wywalające serwer. Do tego masz problemy z systemami kontroli wersji, różnicami między-systemowymi i tak dalej.
W końcu standardowy argument, że to kolejna już część maszyny a im więcej części tym większa szansa, że coś może pójść nie tak plus kolejne godziny na smarowanie dodatkowych trybów smile.gif
Tomplus
I już jesteśmy na dobrej drodze.

- w moim przypadku nie mam zamiaru dodawać żadnego przywiązania do repozytorium, co za tym idzie, po przeniesieniu na inny serwer (i/lub innego katalogu na serwerze, bo też może być taka sytuacja) to należy wygenerować nowe symlinki.

- co do wywołania cyklicznego, spotkałem ten problem, ale dotyczy to jedynie katalogów, pliki trudno wywołać cyklicznie.

- znalazłem także pewien kod dla linii komend, który służy do znajdowania i usuwania uszkodzonych symlinków, myślę że dzięki temu można zachować kontrolę nad stanem takich odwołań, gdy taki kod doda się do CRON.
Kod
find -L /find_in_path -type l
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.