Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Правильная реализация - САЙТ НА РЕМОНТЕ


Автор: numerovan 17.5.2013, 17:14
Здравствуйте, есть вопрос.

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

Как лучше в таком случае организовать отображение что САЙТ НА РЕМОНТЕ ?

Автор: s0lman 17.5.2013, 17:33
http://stackoverflow.com/questions/1314616/redirect-all-requests-under-a-domain-to-static-page-htaccess-or-301-or-redire

Автор: numerovan 17.5.2013, 18:05
Подставил вот это из вышенаписанного примера
Код

RewriteEngine On
RewriteCond %{REQUEST_URI} !=/remont.html
RewriteRule ^ /remont.html [R=301]


и что-то со всех страниц стало перенаправляться на странуцу remont.html ... что-то всё равно не понятно.

Автор: Sanchezzz 17.5.2013, 18:23
В реалтайме зеркальная копия сайта на суб-домен и там отыгрываемся и подправляем что нужно, по окончании работы переименовываем рабочий сайт в любой другое имя а деректорию суб-домена переименовываем  на папку с сайтом. Если есть SHH то копирую из суб-домена файлы, это происходит, очень быстро пользователь даже не заметит.
+ плюс этого гемороя есть полная копия.

Я разработке и поддержке лично использую локальный-серверный git, с серверного git делаю развертывание.
Конфиг разделен на 2 части серверный и локальный, общий

Когда это обычный сайт и мало работы то зеркало сайта не делаю делаю на живую.
Делаю заглушку в коде <?if($ip==''): include 'work_tmp.php'; endif;?>
Соль в том что если ошибка есть то она видна будет вам, файл по условию подключается.

Добавлено через 2 минуты и 59 секунд
Цитата

и что-то со всех страниц стало перенаправляться на странуцу remont.html ... что-то всё равно не понятно. 

 smile Все верно по условию.
Это заглушка и направление на страницу, что на сайте идет работа!

Автор: numerovan 18.5.2013, 08:25
Обычно я делаю следующим образом:
1. копирую сайт на локал
2. редактирую на локале
3. удаляю весь сайт с хостинга
4. заливаю сайт с локалки на хост

В данном случае правильно ли я вас понял:
1. копирую на локалку
2. редактирую на локалке
3. вношу в файл htaccess на хостинге следующие строки:
Код

RewriteEngine On
RewriteCond %{REQUEST_URI} !=/remont.html
RewriteRule ^ /remont.html [R=301]

4. удаляю все файлы кроме моего названного файла remont.html
5. заливаю сайт с локалки на хост
6. из htaccess убираю строчки, те что внёс ранее

?

Автор: Vardoulacha 18.5.2013, 09:05
Как только захотелось внести изменения на сайте, а сайт поставить на ремонт, вставляем строки в .htaccess а еще лучше их там держать и просто раскоментировать

Код

RewriteEngine On
RewriteCond %{REQUEST_URI} !=/remont.html
RewriteRule ^ /remont.html [R=301]


Все, после этого все кто будут приходить на сайт будут видеть ремонт, а в это время можно делать все что угодно только файл remont.html не трогать, потом после всех работ просто закоментируем строки и все снова заработает.

Автор: ksnk 18.5.2013, 09:14
numerovan, можно чуть больше про сайт? Какой, примерно объем скачиваемых туда-сюда файлов?

Обычно на сайте есть 
  • "ядро" (cms) которое никак не изменяется при правках на сайте. 
  • Сайтовые скрипты (шаблоны и модели cms), которые определяют внешний вид и содержимое сайта, 
  • База данных, в которой хранится содержимое сайта 
  • загруженные картинки и документы.
Обычно, правки вносятся только в сайтовые скрипты (смена дизайна). Смена содержимого, обычно, делается с помощью админки cms. 
если правильно организовать структуру каталогов, собственные скрипты будут компактно располагаться в отдельных каталогах. Их несложно и недолго обновить.

Автор: IgorIV 18.5.2013, 13:29
Цитата(numerovan @  17.5.2013,  17:14 Найти цитируемый пост)
Как лучше в таком случае организовать отображение что САЙТ НА РЕМОНТЕ ?

Надо озадачится другим вопросом.
Как лучше организовать работу, чтобы не скачивать весь сайт целиком?

Автор: numerovan 18.5.2013, 16:26
Хорошие вопросы.
С сайтом всё проще тут у меня, на моём движке написаны без применения стороних CMS, да и скорость вроде не маленькая (15 мб/сек). Скачиваю потому что на Dreamweaver-е удобней работать, нежели чем открывать его через FTP-клиент, далее сайт заливаеться обратно, тоже примерно за 1 минуту.

Значит ясно, при ремонте добавлять ( (за)раскоментировать ) вышеописанные строчки в htaccess.

Автор: IgorIV 20.5.2013, 01:23
Цитата(numerovan @  18.5.2013,  16:26 Найти цитируемый пост)
далее сайт заливаеться обратно, тоже примерно за 1 минуту

Это пока он небольшой smile
Как-то так - http://habrahabr.ru/post/127213/

Автор: krundetz 20.5.2013, 09:17
numerovan, пользуйтесь системами деплоймента, ну или на худой конец используйте две папки, одна для рабочей версии сайта, другая для новой, как только залили новую версию и оттестировали ее переключаем домен на нее

Автор: yodev 21.5.2013, 16:02
используйте github

Автор: Fortop 21.5.2013, 17:04
Цитата(yodev @  21.5.2013,  16:02 Найти цитируемый пост)
используйте github 

зачем?

Автор: krundetz 22.5.2013, 11:05
Цитата(yodev @  21.5.2013,  16:02 Найти цитируемый пост)
используйте github 

 smile 

ну да и все равно получим

Цитата(numerovan @  17.5.2013,  17:14 Найти цитируемый пост)
если пользователь наткнёться на этот процес удаления/размещение, то он увидить ошибки или вовсе не увидит страницу сайта.


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

Бесспорно только то, что любая система контроля версий, облегчает и упрощает процесс обновления, по сравнению с FTP.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)