IPB

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
HSDN Mirroring Cacher, Скрипт зеркалирования сайтов
Admin
сообщение 16.6.2009, 20:19
Сообщение #1


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Данный класс позволяет создать зеркало любого удаленного ресурса на локальном сервере. Созданное зеркало по сути является прокси сервером, который будет непосредственно взаимодействовать с удаленным хостом. Благодаря системе встроенного кэширования страниц и картинок, нет нужды многократно загружать одну и ту же страницу с сервера.

Скачать: https://git.dev.hsdn.org/pub/mcacher/src/ma...acher.class.php


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
Stym
сообщение 21.6.2009, 18:40
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 16.6.2009
Пользователь №: 353



А этот скрипт что, картинки не может показывать??? Я вот сделал все как там написано... вот что получилось.... qipstatus.vfose.ru

и что там за ошибки?? получилось убрать эти ошибки только удалением функции в этой строчке (((
Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 21.6.2009, 22:37
Сообщение #3


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Цитата(Stym @ 21.6.2009, 18:40) *
А этот скрипт что, картинки не может показывать??? Я вот сделал все как там написано... вот что получилось.... qipstatus.vfose.ru

и что там за ошибки?? получилось убрать эти ошибки только удалением функции в этой строчке (((

Установите error_reporting(0); в начале скрипта.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
Stym
сообщение 22.6.2009, 13:50
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 16.6.2009
Пользователь №: 353



Хороший вариант, сделал! biggrin.gif а че насчет картинок? я так понял они не поддерживаются чтоли? Извиняюсь за назойливость, но это последний вопрос rolleyes.gif
Перейти в начало страницы
 
+Цитировать сообщение
rostov114
сообщение 22.6.2009, 15:10
Сообщение #5


HSDN Team
***

Группа: Главные администраторы
Сообщений: 55
Регистрация: 18.2.2008
Пользователь №: 75



Цитата(Stym @ 22.6.2009, 14:50) *
Хороший вариант, сделал! biggrin.gif а че насчет картинок? я так понял они не поддерживаются чтоли? Извиняюсь за назойливость, но это последний вопрос rolleyes.gif

Смотрите папку с кешем...в большинстве случаев проблема заключается в ней.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
Stym
сообщение 22.6.2009, 20:28
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 16.6.2009
Пользователь №: 353



Цитата(Rostov114 @ 22.6.2009, 16:10) *
Смотрите папку с кешем...в большинстве случаев проблема заключается в ней.

Значит всетаки скрипт картинки поддерживает? Тогда как сделать чтобы они отображались? Ь(((((

а че смотреть в этом кеше? вроде файлы записываются, даже если удалить эту папку, она сама создается... права полные, ибо это все на WIN... размер 140кб...
Перейти в начало страницы
 
+Цитировать сообщение
xlin
сообщение 5.10.2009, 22:25
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 5.5.2009
Пользователь №: 298



что то не получается unsure.gif пишет
Цитата
Server error!

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

If you think this is a server error, please contact the webmaster.


Код
root@saikov archlinux.org.ru]# ls -la
итого 56
drwxr-xr-x  3 root root  4096 Окт  5 23:14 .
drwxrwxrwx 14 root root  4096 Окт  5 22:58 ..
-rw-r--r--  1 root root   141 Окт  5 23:07 .htaccess
drwxrwxr-x  2 root root  4096 Окт  5 23:00 cache
-rwxrwxr-x  1 root root  1770 Окт  5 23:13 cacher.php
-rwxrwxr-x  1 root root 35166 Окт  5 22:59 mcacher.class.php


Код
<?php
include 'mcacher.class.php'; // Подключение класса

$mcp = new Cacher; // Определение класса
$mcp->cache_dir = 'cache'; // Директория хранения файлов кэша
$mcp->cache_time = 24; // Период хранения кэша в часах (0 -- не кэшировать)

// Пути, для которых следует применить индивидуальный период хранения кэша
$mcp->custom_cache = array
(
    "^/news" => 0, // Не кэшировать страницу /news
    ".dhtml$" => 4  // Обновлять кэш для файлов .dhtml раз в 4 часа
);

// Ограничение доступа к различным ресурсам, страницам или файлам
$mcp->forbidden = array
(
    "^/badpage.php", // Закрыть доступ к странице /badpage.php
    ".mp3$" // Закрыть доступ ко всем файлам .mp3
);

$mcp->connect = 'http://www.hsdn.org'; // Адрес подключения

// Автозамена реального имени сайта на имя сайта зеркала в заголовках HTTP
$mcp->head_replace = array
(
    '[b]http://www.archlinux.org.ru[/b]' => $_SERVER['SERVER_NAME'] // Для заголовков, пр. Location
);

// Автозамена реального имени сайта на имя сайта зеркала в теле страницы,
// а также в ссылках на страницах
$mcp->body_replace = array
(
    '[b]http://www.archlinux.org.ru[/b]' => '' // Заменяем ссылки вида:
                                // href="http://www.hsdn.org/link" на href="/link"
);

$mcp->run_cache(); // Запуск класса


Что не верно? Надо зазеркалить archlinux.org.ru
Лог пишет вот что.
[Mon Oct 05 23:30:17 2009] [alert] [client 88.147.239.57] /srv/http/archlinux.org.ru/.htaccess: Options not allowed here
А IP в логе пишет ФОСовский а не инетовский
Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 5.10.2009, 22:44
Сообщение #8


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Цитата
Что не верно? Надо зазеркалить archlinux.org.ru
Лог пишет вот что.
[Mon Oct 05 23:30:17 2009] [alert] [client 88.147.239.57] /srv/http/archlinux.org.ru/.htaccess: Options not allowed here
А IP в логе пишет ФОСовский а не инетовский


Скорее всего это ошибка в конфигурации апача. Установите директиву AllowOverride All в файле httpd.conf. Эта директива отвечает за доступность настроек сервера через файлы .htaccess.
Также стоит проверить, поддерживается ли mod_rewrite вашим сервером.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
xlin
сообщение 5.10.2009, 23:03
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 5.5.2009
Пользователь №: 298



Я пытаюсь это дела привязать к виртуал хосту.

Код
/etc/httpd/conf/extra/httpd-vhosts.conf


Код
<VirtualHost *:80>
    ServerAdmin admin@saikov.org.ru
    DocumentRoot "/srv/http/archlinux.org.ru"
    ServerName archlinux.vfose.ru
    ErrorLog "/var/log/httpd/test_log"
    CustomLog "/var/log/httpd/test_log_custom" common
</VirtualHost>


Код
/etc/httpd/conf/httpd.conf


Код
<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

<Directory "/srv/http">
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

Цитата
Также стоит проверить, поддерживается ли mod_rewrite вашим сервером.

Как это проверить?
Вот так у меня... не пойму в чем дело?
Перейти в начало страницы
 
+Цитировать сообщение
xlin
сообщение 5.10.2009, 23:22
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 5.5.2009
Пользователь №: 298



Проблема решилась добавлением в httpd.conf
<Directory "/srv/http/archlinux.org.ru">
Options FollowSymLinks
AllowOverride All
</Directory>

Вроде работает теперь, но есть вопрос.. Если на сайте есть авторизация, то зеркало уже не будетпрксироваться?
только вот картинки не грузятся
Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 6.10.2009, 1:22
Сообщение #11


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Цитата(xlin @ 5.10.2009, 23:22) *
Вроде работает теперь, но есть вопрос.. Если на сайте есть авторизация, то зеркало уже не будетпрксироваться?
только вот картинки не грузятся


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

И картинки у вас не грузятся возможно из-за того, что вы допустили ошибку в описании класса и/или скрипта его запуска. Скорее всего имеются некоторые символы перед <?php и после ?>, или же какие-то echo/print в скрипте запуска класса.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
xlin
сообщение 6.10.2009, 15:52
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 5.5.2009
Пользователь №: 298



Цитата(Admin @ 6.10.2009, 2:22) *
Авторизация будет работать, но только с отключенным кешированием страниц, т.к. в текущей версии класса кукисы тоже кешируются. Картинки можно кешировать отдельно, отдельным экземпляром класса.

И картинки у вас не грузятся возможно из-за того, что вы допустили ошибку в описании класса и/или скрипта его запуска. Скорее всего имеются некоторые символы перед <?php и после ?>, или же какие-то echo/print в скрипте запуска класса.

Спасибо за помоь, оказывается после ?> присутствовал символ пробела.
Перейти в начало страницы
 
+Цитировать сообщение
xlin
сообщение 9.10.2009, 12:26
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 5.5.2009
Пользователь №: 298



Возник вопрос по скрипту. Прошу пояснить. В настройках зеркалится сайт archlinux.org.ru. В прмере который у вас приводится я его прописал. Поставил не кешировать
Код
$mcp->cache_time = 0;

так же на всякий случай сделал

Код
$mcp->custom_cache = array
(
    "^/forum" => 0, // Не кэшировать страницу
    "^/arch_forum" => 0,
    ".dhtml$" => 4  // Обновлять кэш для файлов .dhtml раз в 4 часа
);


И настроил автозамену и запуск

Код
$mcp->connect = 'http://archlinux.org.ru'; // Адрес подключения

// Автозамена реального имени сайта на имя сайта зеркала в заголовках HTTP
$mcp->head_replace = array
(
    'archlinux.org.ru' => $_SERVER['SERVER_NAME'] // Для заголовков, пр. Location
);

// Автозамена реального имени сайта на имя сайта зеркала в теле страницы,
// а также в ссылках на страницах
$mcp->body_replace = array
(
    'http://archlinux.org.ru' => '' // Заменяем ссылки вида:
                                // href="http://www.hsdn.org/link" на href="/link"
);

$mcp->run_cache(); // Запуск класса


После этих манипуляций я вижу либо пустую страницу, либо загруженную ее полностью без стилей (( Что надо сделать для исправления? Посмотрите archlinux.vfose.ru

Если перейти на сылку в форум, то он тоже как то криво открывается, картинки на половну загружены, как бы не все. Из-за этого он кривой smile.gif
Другие зеркала работают вроде нормально. wiki-archlinux.vfose.ru и lissyara.vfose.ru
Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 9.10.2009, 14:19
Сообщение #14


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Попробуйте для начала удалить папку с кешем.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
xlin
сообщение 9.10.2009, 15:06
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 5.5.2009
Пользователь №: 298



удалял много раз.... толку нет. И лезет ошибка, которой не должно быть

Код
Can't open cache/6666cd76f96956469e7be39d750cc7d9 Cache File for write.

Или подскажите как тогда перенаправитьна archlinux.vfose.ru/furum
Не понятно....
Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 9.10.2009, 17:45
Сообщение #16


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Скорее всего нет прав на запись файла или создание директории. Также возможно имеются ошибки в пути.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
rediska
сообщение 19.10.2009, 19:16
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 1
Регистрация: 19.10.2009
Пользователь №: 481



Пожалуйста, выложите уже изменённый скрипт зеркалирования... (Пример)
Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 20.10.2009, 14:56
Сообщение #18


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Цитата(rediska @ 19.10.2009, 19:16) *
Пожалуйста, выложите уже изменённый скрипт зеркалирования... (Пример)

Примеры использования доступны в комментариях в начале скрипта.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение
ds-jan
сообщение 31.3.2010, 15:08
Сообщение #19


Новичок
*

Группа: Пользователи
Сообщений: 5
Регистрация: 17.6.2009
Пользователь №: 354



mod_proxy_http.so
mod_proxy_ftp.soТеперь плиз объясните мне плюсы и минусы.А т оя думаю зачем с этим скриптом париться когда есть такое дополнение для апач


--------------------

Перейти в начало страницы
 
+Цитировать сообщение
Admin
сообщение 31.3.2010, 15:26
Сообщение #20


Администратор
***

Группа: Главные администраторы
Сообщений: 277
Регистрация: 18.12.2007
Из: Саратов
Пользователь №: 1



Цитата(ds-jan @ 31.3.2010, 15:08) *
mod_proxy_http.so
mod_proxy_ftp.soТеперь плиз объясните мне плюсы и минусы.А т оя думаю зачем с этим скриптом париться когда есть такое дополнение для апач

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

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

А на тему mod_proxy - лучше использовать вообще nginx или oops. Апач тут вообще не рулит.


--------------------


Перейти в начало страницы
 
+Цитировать сообщение

3 страниц V   1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 22:04
Материалы сайта предназначены для лиц 12 лет и старше.
HSDN — Рейтинг сайтов