HSDN Mirroring Cacher, Скрипт зеркалирования сайтов |
Здравствуйте, гость ( Вход | Регистрация )
HSDN Mirroring Cacher, Скрипт зеркалирования сайтов |
16.6.2009, 20:19
Сообщение
#1
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
Данный класс позволяет создать зеркало любого удаленного ресурса на локальном сервере. Созданное зеркало по сути является прокси сервером, который будет непосредственно взаимодействовать с удаленным хостом. Благодаря системе встроенного кэширования страниц и картинок, нет нужды многократно загружать одну и ту же страницу с сервера.
Скачать: https://git.dev.hsdn.org/pub/mcacher/src/ma...acher.class.php -------------------- |
|
|
21.6.2009, 18:40
Сообщение
#2
|
|
Новичок Группа: Пользователи Сообщений: 6 Регистрация: 16.6.2009 Пользователь №: 353 |
А этот скрипт что, картинки не может показывать??? Я вот сделал все как там написано... вот что получилось.... qipstatus.vfose.ru
и что там за ошибки?? получилось убрать эти ошибки только удалением функции в этой строчке ((( |
|
|
21.6.2009, 22:37
Сообщение
#3
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
А этот скрипт что, картинки не может показывать??? Я вот сделал все как там написано... вот что получилось.... qipstatus.vfose.ru и что там за ошибки?? получилось убрать эти ошибки только удалением функции в этой строчке ((( Установите error_reporting(0); в начале скрипта. -------------------- |
|
|
22.6.2009, 13:50
Сообщение
#4
|
|
Новичок Группа: Пользователи Сообщений: 6 Регистрация: 16.6.2009 Пользователь №: 353 |
Хороший вариант, сделал! а че насчет картинок? я так понял они не поддерживаются чтоли? Извиняюсь за назойливость, но это последний вопрос
|
|
|
22.6.2009, 15:10
Сообщение
#5
|
|
HSDN Team Группа: Главные администраторы Сообщений: 55 Регистрация: 18.2.2008 Пользователь №: 75 |
Хороший вариант, сделал! а че насчет картинок? я так понял они не поддерживаются чтоли? Извиняюсь за назойливость, но это последний вопрос Смотрите папку с кешем...в большинстве случаев проблема заключается в ней. -------------------- |
|
|
22.6.2009, 20:28
Сообщение
#6
|
|
Новичок Группа: Пользователи Сообщений: 6 Регистрация: 16.6.2009 Пользователь №: 353 |
Смотрите папку с кешем...в большинстве случаев проблема заключается в ней. Значит всетаки скрипт картинки поддерживает? Тогда как сделать чтобы они отображались? Ь((((( а че смотреть в этом кеше? вроде файлы записываются, даже если удалить эту папку, она сама создается... права полные, ибо это все на WIN... размер 140кб... |
|
|
5.10.2009, 22:25
Сообщение
#7
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 |
что то не получается пишет
Цитата 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 в логе пишет ФОСовский а не инетовский |
|
|
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 вашим сервером. -------------------- |
|
|
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 вашим сервером. Как это проверить? Вот так у меня... не пойму в чем дело? |
|
|
5.10.2009, 23:22
Сообщение
#10
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 |
Проблема решилась добавлением в httpd.conf
<Directory "/srv/http/archlinux.org.ru"> Options FollowSymLinks AllowOverride All </Directory> Вроде работает теперь, но есть вопрос.. Если на сайте есть авторизация, то зеркало уже не будетпрксироваться? только вот картинки не грузятся |
|
|
6.10.2009, 1:22
Сообщение
#11
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
Вроде работает теперь, но есть вопрос.. Если на сайте есть авторизация, то зеркало уже не будетпрксироваться? только вот картинки не грузятся Авторизация будет работать, но только с отключенным кешированием страниц, т.к. в текущей версии класса кукисы тоже кешируются. Картинки можно кешировать отдельно, отдельным экземпляром класса. И картинки у вас не грузятся возможно из-за того, что вы допустили ошибку в описании класса и/или скрипта его запуска. Скорее всего имеются некоторые символы перед <?php и после ?>, или же какие-то echo/print в скрипте запуска класса. -------------------- |
|
|
6.10.2009, 15:52
Сообщение
#12
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 |
Авторизация будет работать, но только с отключенным кешированием страниц, т.к. в текущей версии класса кукисы тоже кешируются. Картинки можно кешировать отдельно, отдельным экземпляром класса. И картинки у вас не грузятся возможно из-за того, что вы допустили ошибку в описании класса и/или скрипта его запуска. Скорее всего имеются некоторые символы перед <?php и после ?>, или же какие-то echo/print в скрипте запуска класса. Спасибо за помоь, оказывается после ?> присутствовал символ пробела. |
|
|
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 Если перейти на сылку в форум, то он тоже как то криво открывается, картинки на половну загружены, как бы не все. Из-за этого он кривой Другие зеркала работают вроде нормально. wiki-archlinux.vfose.ru и lissyara.vfose.ru |
|
|
9.10.2009, 14:19
Сообщение
#14
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
Попробуйте для начала удалить папку с кешем.
-------------------- |
|
|
9.10.2009, 15:06
Сообщение
#15
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 |
удалял много раз.... толку нет. И лезет ошибка, которой не должно быть
Код Can't open cache/6666cd76f96956469e7be39d750cc7d9 Cache File for write. Или подскажите как тогда перенаправитьна archlinux.vfose.ru/furum Не понятно.... |
|
|
9.10.2009, 17:45
Сообщение
#16
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
Скорее всего нет прав на запись файла или создание директории. Также возможно имеются ошибки в пути.
-------------------- |
|
|
19.10.2009, 19:16
Сообщение
#17
|
|
Новичок Группа: Пользователи Сообщений: 1 Регистрация: 19.10.2009 Пользователь №: 481 |
Пожалуйста, выложите уже изменённый скрипт зеркалирования... (Пример)
|
|
|
20.10.2009, 14:56
Сообщение
#18
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
Пожалуйста, выложите уже изменённый скрипт зеркалирования... (Пример) Примеры использования доступны в комментариях в начале скрипта. -------------------- |
|
|
31.3.2010, 15:08
Сообщение
#19
|
|
Новичок Группа: Пользователи Сообщений: 5 Регистрация: 17.6.2009 Пользователь №: 354 |
mod_proxy_http.so
mod_proxy_ftp.soТеперь плиз объясните мне плюсы и минусы.А т оя думаю зачем с этим скриптом париться когда есть такое дополнение для апач -------------------- |
|
|
31.3.2010, 15:26
Сообщение
#20
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
mod_proxy_http.so mod_proxy_ftp.soТеперь плиз объясните мне плюсы и минусы.А т оя думаю зачем с этим скриптом париться когда есть такое дополнение для апач Не на всех хостингах можно такой модуль подключить. Также этот модуль не позволяет производить манипуляции по замене данных в зеркалируемом сайте (что очень важно, особенно если картинки на сайте ссылаются на другой хост, который тоже зеркалировать надо) или например тупо вырезать рекламу из сайта. Еще минус mod_proxy - он не кеширует контент, поэтому получается простой прокси (трафик не экономится). Наш же скрипт работает на любом хостинге с mod_rewrite (кстати и без него может, если кое-что изменить), может заменять текст на сайте, вырезать рекламу, кешировать полностью или выборочно данные. А на тему mod_proxy - лучше использовать вообще nginx или oops. Апач тут вообще не рулит. -------------------- |
|
|
Текстовая версия | Сейчас: 4.12.2024, 6:41 |