Сделать разработку PHP более надежной - PullRequest
3 голосов
/ 18 октября 2010

Я потратил некоторое время на разработку веб-приложения на php. В основном это было просто для изучения побочного проекта, но теперь у приложения есть несколько пользователей, которых я не хочу расстраивать, ломая вещи по мере развития.

На данный момент у меня есть очень простой метод управления разработкой - я использую текстовый редактор ( ultraedit ) для написания кода и использую встроенный ftp для загрузки файлов на сервер. С точки зрения контроля версий у меня есть 2 домена, и я только загружаю файлы в «живой» домен, когда они работают, но это все. Домены размещены на сайте общего хостинга cPanel, и у меня есть некоторые сомнения относительно его способности обрабатывать даже незначительные всплески трафика. Вчера я посмотрел на slicehost , чтобы найти что-то более масштабируемое, но это похоже на кривую обучения из моего нынешнего состояния.

Я знаю, что могу добиться большего, чем это, но с чего начать? Я думаю, что мне нужен совет по трем вещам 1 - инструмент для написания кода 2 - контроль версий / управление 3 - масштабируемый хостинг

Я сознательно задал их в том же вопросе, что и хотел бы знать, влияет ли один выбор на другой. Есть ли хорошее интегрированное решение?

Заранее спасибо, как всегда.

Ответы [ 7 ]

8 голосов
/ 18 октября 2010

На каждую часть вашего вопроса уже был дан ответ. В приведенном ниже списке перечислены некоторые распространенные инструменты и ссылки на соответствующие поисковые запросы в StackOverflow. Не все в одном пакете, и вдаваться в детали об этих инструментах в одном вопросе выходит за рамки, поэтому я боюсь, что вам придется немного покопаться:

Отказ от ответственности: список не является полным и порядок не важен

2 голосов
/ 18 октября 2010

Здесь много чего происходит.Я дам вам два моих цента.

  1. Я использовал ультраредактирование.Теперь я использую NetBeans, это полностью интегрированная среда разработки, и это делает мою жизнь намного проще.Это тоже бесплатно.Я не могу себе представить, что когда-нибудь вернусь в UltraEdit.Также, что подводит меня ко второму, netbeans имеет интеграцию SVN и CVS

  2. Я бы использовал Subversion для контроля версий.По моему опыту он делает все необходимое для контроля версий.Другие используют такие, как git и mercurial, но я думаю, что SVN широко поддерживается и достаточно прост в настройке.Что касается отправки кода на сервер, я начал использовать SVN для этого тоже.Сначала я захожу по ssh на сервер и извлекаю код в каталог public_html, а затем устанавливаю псевдоним для обновления svn через командную строку ... на мой взгляд, это намного проще, чем ftping.Существуют и другие способы развертывания, но я никогда не использовал их.см. этот вопрос: Какова ваша предпочтительная стратегия развертывания php?

  3. очевидно, что общий хостинг не будет обрабатывать трафик, а также выделенный сервер.Но есть много вещей, которые вы можете сделать, чтобы улучшить производительность, прежде чем переходить на выделенный сервер.Проверьте эту статью: http://developer.yahoo.com/performance/rules.html

1 голос
/ 18 октября 2010

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

С точки зрения «инструмента для написания кода», и выбор IDE - это субъективное обсуждение.Не стесняйтесь работать с тем, который вам наиболее удобен, для меня это Netbeans.

Что касается стратегии развертывания, я думаю, что ее лучше всего суммировать в этом ответе .

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

0 голосов
/ 18 октября 2010

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

Я всегда храню как минимум 3 версии на рабочем сервере. Я использую символические ссылки, чтобы указать веб-сервер на последнюю версию. Если есть проблема, вам просто нужно заново создать символическую ссылку, чтобы указать на более старую версию.

Что касается виртуального хостинга, вы будете удивлены, сколько пропускной способности вы можете получить. У меня есть хост с общим $ 10 / month, который получает около 500K просмотров страниц в месяц. Как правило, дело не в том, что ваш хост не может справиться с нагрузкой, а в том, что хостинг-провайдер размещает слишком много «общих ресурсов» на одном сервере. Так что это зависит от того, сколько ресурсов используют все остальные на одном сервере. Если у вас возникли проблемы, вы всегда можете попросить перенести их на другой сервер.

0 голосов
/ 18 октября 2010

1 - инструмент для написания кода

Zend Studio. Я бы также порекомендовал Linux, если вы собираетесь использовать Linux-серверы.

2 - контроль версий / управление

SVN + phing (если вы собираетесь создавать серьезные приложения).

3 - масштабируемый хостинг

Amazon или RackSpace.

0 голосов
/ 18 октября 2010

Я думаю использовать Aptana Studio (http://www.aptana.org).Это интегрированная среда разработки на основе Eclipse со всеми необходимыми инструментами.В него встроены средства разработки PHP, GIT или SVN для контроля версий.

Я также использовал виртуальный хостинг.Когда другой сайт на том же сервере имел DoS-атаки, мой сайт тоже стал недоступным.В противном случае он может работать с разумной скоростью после некоторой оптимизации.Он обслуживал 1000-3000 пользователей в день.Выделенные серверы намного лучше.Или вы можете использовать веб-сервисы Amazon.Я знаю, что они дороже.

0 голосов
/ 18 октября 2010

Вы смотрели на использование wamp / xamp / mamp / lamp для локального развития? Загрузка через ftp для каждого изменения - это боль.

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

Возможно, вы захотите взглянуть на что-то вроде SpringLoops для управления вашей версией - у этого есть преимущество в развертывании, и затем, если оно станет грушевидным, вы сможете вернуть его обратно (бесплатная учетная запись получает 3 развертывания в день).

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

ps, иди с Линодой над Slicehost.

...