Картинки на отдельный сервер. Способ взаимодействия?

Mik Foxi
На сайте с 02.03.2011
Offline
1198
6509

Как вынести картинки на отдельный физический сервер ? Как например на этом форуме.

Т.е. юзер через веб загружает на первый сервер, а дальше нужно как-то быстро перелить картинку на второй сервер.

Пробовал варианты:

1) при заливке картинки на первый сервер - средствами пхп коннектимся ко второму серверу на фтп, и заливаем ее туда. Метод жесть, стабильности никакая, а скорость еще страшнее, а еще нужно получать список картинок с удаленного сервера, удалять ненужные...

2) примонтировать удаленный фтп диск и работать как с локальным, с виду было красиво, на деле соединение постоянно рвется, стабильность еще хуже чем в первом варианте.

Может есть проверенный способ для данного действия?

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
M
На сайте с 16.09.2009
Offline
278
#1
foxi:
Т.е. юзер через веб загружает на первый сервер, а дальше нужно как-то быстро перелить картинку на второй сервер.

Ну а почему не сразу на второй?

foxi:
2) примонтировать удаленный фтп диск и работать как с локальным, с виду было красиво

Что-ж тут красивого. И сама идея - так себе.. И использование конкретно FTP для этой цели - глупо.

Есть масса сетевых файловых систем, возьмите хоть NFS к примеру. Для Ваших целей ее должно вполне хватить, вместо "монтирования" всякой ерунды.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Mik Foxi
На сайте с 02.03.2011
Offline
1198
#2
myhand:

Есть масса сетевых файловых систем, возьмите хоть NFS к примеру. Для Ваших целей ее должно вполне хватить, вместо "монтирования" всякой ерунды.

🍻 я чувствовал, что все гениальное уже изобретено. Пошел читать мануалы.

Himiko
На сайте с 28.08.2008
Offline
560
#3

А ещё проще - это скрипт заливки размещать сразу на поддомене, который ссылается на второй сервер, если есть такая возможность.

Тогда будет и стабильнее и быстрее.

А так, для вас NFS - самый простой вариант. Только связь между серверами должна быть более-менее стабильной.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
Mik Foxi
На сайте с 02.03.2011
Offline
1198
#4

сейчас тестирую NFS, вроде все норм, пока только не протестировал как будет вести себя сервер, если коннект подвиснет или разорвется, переподключается ли оно само ?

M
На сайте с 16.09.2009
Offline
278
#5
foxi:
сейчас тестирую NFS, вроде все норм, пока только не протестировал как будет вести себя сервер, если коннект подвиснет или разорвется, переподключается ли оно само ?

Если кратко, то - да.

Но настоятельно советую прислушаться - и попросту обрабатывать всю загрузку на втором сервере. Вам это уже второй человек пишет.

Andreyka
На сайте с 19.02.2005
Offline
822
#6

Тот, кто советует NFS - предлагает вам зло.

Все что нужно, поставить на второй сервер nginx в режиме кеширования для картинок.

И в настройках сайта прописать пути к картинкам на сервер nginx, например images.forum.com

Я сам такое проделывал множество раз - работает идеально.

А за NFS, повторю - руки отрывать мало.

Не стоит плодить сущности без необходимости
Mik Foxi
На сайте с 02.03.2011
Offline
1198
#7
Andreyka:
Тот, кто советует NFS - предлагает вам зло.
Все что нужно, поставить на второй сервер nginx в режиме кеширования для картинок.
И в настройках сайта прописать пути к картинкам на сервер nginx, например images.forum.com

Так получается что и на первом сервере придется хранить картинки?

M
На сайте с 16.09.2009
Offline
278
#8
Andreyka:
Тот, кто советует NFS - предлагает вам зло.

Почему?

К какой реальной проблеме это приведет в данной задаче, обоснуйте пожалуйста.

foxi:
Так получается что и на первом сервере придется хранить картинки?

Думаю, речь о том, что nginx идет на первый сервер, если не находит картинку у себя. Находит - помещает в кеш. Эти файлы можно периодически перемещать в стационарное место на втором сервере. А на первом сервере - удалять. То и то - по крону.

Решение имеет и свои минусы. Что, если Вы захотите как-то обработать картинки потом, по желанию пользователя?

Mik Foxi
На сайте с 02.03.2011
Offline
1198
#9

Пользователь картинки и файлы будет только добавлять и удалять.

Когда он добавляет файл через менеджер файлов/картинок, то в этой ситуации конечно можно поставить на втором сервере скрипт менеджера, и пользователь сразу получит ответ о успешности загрузки.

Но есть еще фотогалерея, в которой скрипт обрабатывает картинку под нужные размеры и сохранить нужно в двух копиях (большая и превью), и потом в базу данных записать инфу о странице с картинкой. т.е. получается мног овзаимодействий между двумя серверами...

M
На сайте с 16.09.2009
Offline
278
#10

Ну вот я и говорил о подобных "минусах". Думаю, в Вашем случае можно организовать все это "взаимодействие", но потребует это определенных изменений в коде сайта. Сетевая файловая система - не требует подобного.

Не нужно слушать разных андреек, которые хают NFS почем зря. Ну а во-вторых, есть ряд других сетевых файловых систем.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий