2014-01-08 2 views
0

Предположим, у меня есть 3 веб-сайта, размещенные на серверах a, b и c, все они используют одни и те же файлы (library.php, users.php, config ...). Сейчас у всех веб-сайтов есть эти файлы, и если я хочу обновить один из файлов, я должен сделать это для всех веб-сайтов. Очень неэффективно.Использование центрального сервера с php

Вопрос: могу ли я иметь центральный сервер, на котором размещены эти общие файлы, и когда один из сайтов загружен, я получаю PHP, чтобы вызывать library.php, users.php ... с центрального сервера?

+0

Какой информации вы храните в этом централизованных файлах? Я думаю, что есть лучший способ поделиться этой информацией. – xyNNN

+0

Есть много классов, методов, конфигураций файлов ... – matt

+0

Я думаю, что это не лучший способ поделиться этими файлами. Проблема в том, что все ваши проекты недоступны без локальной копии, когда «централизованный сервер» не отвечает за тайм-аут сервера или что-то еще. Используйте CSV, приватный репозиторий, чтобы обмениваться этими файлами со всеми вашими проектами и обновлять его, когда вам это нужно. – xyNNN

ответ

2

ВЫ МОЖЕТЕ использовать центральный сервер или установить один из 3 серверов в качестве общего репозитория для всех файлов, но это вызовет ненужные сетевые издержки, а также снова приведет к одной точке отказа.

Лучшим методом было бы реализовать набор сценариев, которые будут синхронизировать серверы.

Rsync можно использовать для этого, но есть любое количество опций, включая использование git. (Вы правильно используете управление исходным кодом?)

Capistrano также является хорошим вариантом.

Также см ответов здесь: Deploying to multiple servers

+0

Лот предлагает отличные рекомендации. Другой вариант - использовать Composer и регулярно запускать его. – Chrisissorry

0

Поместите их в общую папку на своем сервере и добавьте их в путь включения PHP.