PDA

Просмотр полной версии : Работа между двумя жосткими дисками на сервере.


hogler
14.01.2012, 23:26
Всем доброго времени сутак. Подскажите пожалуйста:

У меня сервер windows7 + Apache2.2 + nginx1.0.11 + php5
У меня Apache стоит на диске C но, там уже осталось мало места. И я подключил другой диск D.

Вопрос такой, как можно сделать так, что бы при обращении к php страничке, файл скачивался с диска D?

Вообще у меня файлы скачиваются не только через php, но и FlashPlayer10(as3).
И ещё одна вещь, windows пока что для тестов стоит, так что скоро буду переходить на Linux поэтому если существует универсальное средство буду благодарен или хотя бы скажите в каком направлении капать.

Plague
15.01.2012, 10:50
при обращении к php страничке, файл скачивался с диска D
хоть с флешки. Берем php-редактор (можно и просто блокнотом обойтись), ищем в php-скрипте соответствующую функцию, правим.
скоро буду переходить на Linux поэтому если существует универсальное средство
какое "универсальное средство"? кнопка "сделать круто"? нет такой, и в обозримом ближайшем будущем не предвидится.

hogler
15.01.2012, 13:50
ищем в php-скрипте соответствующую функцию, правим.

Что-что? php-скрипт это тот что на скачку отдаёт? Или php.ini? Мне вот уже посоветавали что такое в Apache нужно настраивать.

Plague
15.01.2012, 14:23
может и в апаче. может и в php.ini. а может и в устройстве мироздания. с такими вводными данными помогут разве что квалифицированные телепаты... :vacuum:

Rob
15.01.2012, 16:20
Это смотря насколько они "жосткие".
Лучше всего взять и увеличить размер диска C за счёт диска D при помощи программы PartitionMagic (http://www.imho.ws/showthread.php?t=2650).

hogler
15.01.2012, 16:25
может и в апаче. может и в php.ini. а может и в устройстве мироздания. с такими вводными данными помогут разве что квалифицированные телепаты... :vacuum:

Странно, вроде бы я доступно объяснил свою проблему и что хочу получить в результате. Но хорошо что я её раскидал по 4-ём форумам и на треёх нашлись те самые телепаты:

<IfModule alias_module> в Apache, сейчас работаю над nginx, что бы там всё работало как надо.

Позже напишу как я всё сделал, вдруг у кого-нибуть возникнут подобные потребности.

Hubbitus
15.01.2012, 17:48
В Линксе советую использовать скажем просто LVM и увеличивать диск дургими устросвтвами скольк нужно.

hogler
15.01.2012, 22:47
Пишу на случай если у кого-нибуть возникнет подобный вопрос.
Apache стоит на диске C, и все странички автоматически берутся из папки C:/apache/www/.
А вам нужно некоторые файлы брать из папки D:/music/.
Если у вас стоит nginx для отдачи статики(jpg, html, png, flv, swf...)
То в nginx(conf/nginx.conf) пишем:

server {
...
location /music/ {
location ~* \.(jpg|html|swf|mp3)$ {
root D:/music;
}
}
...
}

Т.е. если вы обратитесь к http://www.mysite.ru/music/my.html или http://www.mysite.ru/music/my.mp3,
то у вас файл будет взят из папки D:/music (D:/music/my.html или D:/music/my.mp3) .
Но это сработает если вы обратитесь к статическому файлу(картинка, музыка, html, css, txt, flv...).
Если вы обратитесь к динамическим данным/файлу (выполняются на стороне сервера: php, различные программы которые нужно запустить, но не передавать), то уже нужно настраивать и Apache(conf/httpd.conf):

< IfModule alias_module >
Alias /music "D:/music"
< /IfModule >

Т.е. если вы обратитесь к http://www.mysite.ru/music/my.php или http://www.mysite.ru/music,
то у вас произойдёт обращение к файлу D:/music/my.php .

Borland
15.01.2012, 23:05
Можно сделать значительно проще и вообще не ковырять web-сервер.
Достаточно просто создать в C:/apache/www/ связь на папку d:\music. С точки зрения апача это будет именно папка music.
Данная технология используется и Vista, и Win7. Доступна со времён XP.
А уж в Linux, насколь мне известно, была с самого начала...

Plague
16.01.2012, 12:47
А уж в Linux, насколь мне известно, была с самого начала...
в *NIX и дисков C; D; итд не было никогда :biggrin:

Borland
16.01.2012, 13:23
дисков C; D; итд не было никогдаЯ в курсе, что там точки монтирования а не диски. :biggrin:
И говорил именно о связях (link) как элементе файловой системы. :)

Borland
16.01.2012, 14:23
И кстати же - мы тут с Plague как раз вопрос с линками обсуждали и ещё одну фишку вспомнили: и в *NIX, и в WinNT 5.x/6.x можно монтировать раздел диска в папку на другом диске/разделе. Т.е. ничто не мешает прицепить к папке в директории апача (или что там) раздел хоть на 100Тб. Раздел диска c: при этом не изменится, но всё, что в эту папку кладётся - будет именно на другом диске. Прикольно так: диск на 20Гб, заполнен на 95%, но при этом на нём есть папочка где лежит 50Тб и ещё столько же свободного места. :gigi: