У моей компании очень серьезная проблема с управлением исправлениями на наших веб-серверах. Публичные серверы устарели, и теперь руководство считает это приоритетом. Однако вместо простого обновления и исправления существующих серверов (и всего сопутствующего тестирования) они приступили к процессу миграции на серверы Solaris как способ «смягчить проблемы». (Я думаю, это потому, что у них есть несколько серверов Solaris)
У меня нет проблем с Solaris, и я вижу, что технически весь мой веб-код php должен нормально работать с базами данных MySQL. Я также понимаю, что для перехода с php4 на php5 требуется столько же размышлений и тестирования.
Я хочу знать, на какие ошибки мне следует обратить внимание, когда серверная команда вернется и скажет мне, что мой код не работает. Я хочу начать искать головные боли сейчас, чтобы облегчить переход.
В настоящее время у нас есть последнее поколение стека, и я предполагаю, что они добавят текущее поколение при обновлении и миграции серверов для PHP, MySQL и Apache.
Резюме вопроса: Моя компания переходит с сайтов PHP4 на серверах Linux на сайты PHP4 на серверах Solaris. На какие проблемы следует обратить внимание при подготовке кода к переходу?
2 ответа
Какая версия Solaris, если знаете?
На уровне php4 будет очень небольшая разница, если предположить, что они устанавливают ту же или более новую версию PHP и MySQL. Что больше шансов сломаться при переходе на Solaris, так это код оболочки или C, поэтому, если вы также несете ответственность за что-либо из этого, у вас будет больше работы.
Что касается оболочки, то стоит помнить, что Solaris использует оболочку Bourne, а не Bash, поскольку это /bin/sh
; у многих людей есть небольшие кусочки оболочки, которые они используют для различных задач, и легко найти там баш-измы, которые не работают в ванильной bourne-shell.
Точно так же, если вы вообще используете внешние двоичные файлы, Solaris может быть совсем другим.
Есть пара важных деталей.
Во-первых, я считаю, что вам нужен сервисный контракт для доступа к наборам исправлений безопасности. Затем вам необходимо загрузить ежемесячные (или ежеквартальные) наборы исправлений с веб-сайта Sun. Патчи устанавливаются путем выполнения сценария оболочки, поставляемого с набором исправлений. В зависимости от того, применимо ли это исправление к вашей конфигурации, будут сбои некоторых или даже большинства исправлений.
После первого раунда исправлений перезапустите коробку с помощью: reboot - (не забудьте два тире), чтобы ядро узнало, что нужно обновить информацию о конфигурации. После этого вы снова устанавливаете тот же набор исправлений на случай, если были зависимости от первого раунда исправления. И угадайте, перезагрузитесь - снова.
Это гораздо более формализованная система обслуживания, чем Linux (или, по крайней мере, некоторые варианты Linux). Очевидно, что PHP, MySQL, Apache и т. Д. Работают нормально. Но в зависимости от выбранного вами набора микросхем (cool-thread) вы захотите установить надлежащую настроенную версию их стека SAMP (она называется что-то вроде стека стеклянной рыбы или что-то в этом роде).
Я бы не стал слишком беспокоиться о оболочке, поскольку работа с правами root - это не обычное поведение для большинства администраторов, поэтому вы можете выбрать bash или ksh. Кроме того, не изменяйте корневую оболочку с / bin / sh , она статически связана, если вы ошиблись в некоторых разделяемых библиотеках, таких как libc.so.
Вы также захотите загрузить SunStudio (текущая версия - 12.1) и скомпилировать загруженные исходные файлы с помощью компилятора Sun, поскольку он лучше оптимизируется для набора микросхем SPARC. И не забудьте использовать флаг компилятора -fast при компиляции. Помимо этого, единственное, что я могу придумать, - это загрузить Sun DTrace Guide (руководство по динамической трассировке).
О, и прочтите pkgadd и pkgrm . Еще одна вещь: top может не существовать при установке по умолчанию, поэтому используйте версию Sun: prstat . И познакомьтесь с svcadm для управления службами. Увы, это все, что я могу придумать.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.