Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Перенос /uploads/files/ на поддомен (DLE)

Перенос /uploads/files/ на поддомен (DLE)


     08.12.2012    Общие вопросы по PHP, Хаки    4541

вопрос
Более 20 тысяч файлов, не помещаются на жестком диске, необходимо перенести на другой, желательно использовать перенос на субдомен, чтобы не грузить основной сайт и была возможность разместить на другом сервере.
Возможно ли перемещение папки /uploads/files/ на поддомен, но при этом сохранить работу attachment при загрузке файла пользователем. Файлы загружаться на сервер будут другим скриптом, а не с помощью добавление новости.
Возможно даже за $

Например сервер: 7.7.7.7 site.com (основной сайт)
Например сервер: 8.8.8.8 files.site.com (хранилище файлов)

Хак нужен только по /uploads/files/, с картинками сам разобрался.

Версия ДЛЕ 9.4

Ответа пока нет


Комментарии пользователей (12)

nowheremany
192

1659 | 1292

nowheremany - 8 декабря 2012 21:08 - Эксперт

Главное чтобы с основного домена можно было достучаться до файлового через виртуальную папку, если нет, то это фтп и такого функционал будет жестко бить трафиком

Благодарность принимаю тут Связь

hqtexture
50 | 16

hqtexture - 8 декабря 2012 21:34 - Юзер

nowheremany,
К сожалению я это и сам понимаю.
Думаю годик-другой будет доступ виртуальный (как я понял Вы про локальное размещение папок на одном сервере), потом переедет. Фтп? Это как? С файлового сервера тащить на главный сайт, а от него отдавать? Какой тогда смысл? :)
Есть еще идеи?

hqtexture
50 | 16

hqtexture - 8 декабря 2012 21:53 - Юзер

Я еще как вариант думал вот такое сделать, но упираюсь в две проблемы:

Например сервер: 7.7.7.7 site.com (основной сайт)
Например сервер: 8.8.8.8 files.site.com (хранилище файлов)

Ставим на 8.8.8.8 полную копию дле, а в новостях в атаче, указываем не site.com/engine/download.php?=id, а добавляем поддомен и получается files.site.com/engine/download.php?=id, он лезет туда на тот engine, и подгружает файл. Но как я понимаю, система откажет и отправит на главный сайт, тобишь site.com (7.7.7.7) и скажет качать только на том сайте. Как-то так в эту сторону думаю.

Dymatize
6

111 | 104

Dymatize - 8 декабря 2012 22:02 - Юзер.

Зачем лезть в системные папки? Как я понял тебе же просто нужно перенести "файлы для скачивания"?
Бери тогда анлим облако и грузи все файлы на него. Чтоб файлы качались прямиком с того сервера, без загрузки на твой.
Немного перепиши код, чтоб двиг сразу грузил файлы на другой серв и вставлял обратную ссылку.

hqtexture
50 | 16

hqtexture - 8 декабря 2012 22:24 - Юзер

Мне надо сохранить работу [attachment=id] и перенести файлы. Меня не вставка беспокоит, а скачивание.
Облако, не знаком с этим, поэтому наверно мне это не подойдет. Пока пошел почитаю про облако.
Допустим есть облако, как указать engine.php, брать файл с поддомена. Кстати попробовал символическую и жесткую ссылку, он не видит файлы, и отдает пустые архивы, которые как полагается нельзя открыть.

Dymatize
6

111 | 104

Dymatize - 8 декабря 2012 22:32 - Юзер.

Бесплатно тебе этого никто не сделает. Я могу настроить тебе облако (виртуальный серв.), но в пхп я не бум-бум, так что придется искать кого то ещё...
Незачем указывать engine.php как брать файл с поддомена, просто сделать чтоб при загрузки файлов на поддомен, сразу генерировалась обратная ссылка на файл.

зы.Накой тебе сдался этот аттач? сделал бы скачивание файлов на доп.полях.

hqtexture
50 | 16

hqtexture - 8 декабря 2012 22:36 - Юзер

Облако мне точно не нужно, спасибо за предложение!
Кстати про доп. поля я забыл, интересная мысль.
Как можно сделать такой формат получение ссылки через доп. поле, например на выходе получить такой линк: files.site.com/get/dl/8ozpsp1dduac4aw3izslsb1eh/file.rar (но на сервере будет ссылка http://files.site.com/1000/file.rar)

ПафНутиЙ
1064

3394 | 2433

ПафНутиЙ - 8 декабря 2012 22:52 - Админ

У допполей один минус - нет счётчика на скачивание.
Если это не критично (а возможно это даже и лучше отключать - нагрузка поменьше бдет на БД), то вот этот хак + доработка загрузчика, чтоб грузил на поддомен/облако/гугло-яндекс-диски или сторонний сайт, возможно решит проблему.

Каков вопрос - таков и ответ. Просто помните об этом.

Dymatize
6

111 | 104

Dymatize - 8 декабря 2012 22:55 - Юзер.

Как я понял тебе нужны ссылки с временными токенами? Тогда придется уже настраивать сам nginx, а не dle... и делать на файл внутренний редирект бэкендом.
Но генерация таких ссылок даст дополнительную нагрузку на серв...

Если не умеете сами, то придется кого-нибудь попросить. Но опять же повторюсь, это все стоит денег... и не 10руб а гораздо больше.

hqtexture
50 | 16

hqtexture - 8 декабря 2012 22:59 - Юзер

Как раз счетчик не нужен, добавлять архивы будет другой скрипт, считая мне надо просто временные ссылки на файлы, как сказал Dymatize. Прошу учесть, что сервер с главным сайтом и файловый помойник на двух разных машинках, "внутренний редирект бэкендом" работать будет? И сколько такая работа будет стоить? Я про 10 руб и не думал :)

Dymatize
6

111 | 104

Dymatize - 8 декабря 2012 23:03 - Юзер.

стоимость будет зависеть от того что с вашим серваком твориться.. Может просто поднастроить nginx и поставить пару модулей, а возможно весь придется перенастраивать... Я в ближайшее время взяться не смогу, так что если срочно, то поищите кого нибудь ещё (советую на серче)

Maxic
20 | 4

Maxic - 9 декабря 2012 17:22 - Юзер

Предложу свой вариант:
1. Все файлы хранятся на отдельном сервере в папке uploads/files/
2. На этом же сервере в корне есть файл download.php, у которого есть доступ к базе данных файла (должен быть настроен удалённый доступ к базе)
3. На сайте при попытке скачивания файла (download.php) происходит редирект на files.site.ru/download.php?id=x
4. Скрипт download.php?id=x проверяет наличие файла в базе и отдаёт на скачивание файл

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы