Для стабильной работы веб-системы (веб-сайта) очень важна стабильность работы серверного ПО.
Для стабильной работы веб-системы (веб-сайта) очень важна стабильность работы серверного ПО.
Нас часто спрашивают: “А какой сервер (хостинг) нам нужно приобрести чтобы разместить наш сайт”.
Для того, чтобы ответить на этот вопрос, следует четко понимать, что у любого сервера/системы/ПО есть какой-то верхний предел, который физически нельзя превысить, аналогично как на 100 мегабайтной флешке невозможно разместить 200-мегабайтный архив. Поэтому, распространяя логическую схему в отношении сайтов, можно смело заявить, что если ваш сайт справляется на определенном железе с 1000 одновременных посетителях, то совершенно не факт, что он будет справляться с 10 тыс. таких посетителей. А если и будет, то всегда найдется еще большее число посетителей, которое приведет к отказу функционирования сайта превышения его расчетных возможностей. Причем далеко не всегда речь идет об вычислительных возможностях. Часто бывает, что достигается предел пропускной способности интернет канала, подключенного к серверу.
По изложенным выше причинам, у нас нет четкого ответа на этот довольно распространенный вопрос. Со своей стороны, мы можем подтвердить тот факт, что в нашей системе управления сайтами реализовано достаточно механизмов для снижения нагрузки.
Тем не менее, как ни крути, но скорость и стабильность работы любого программного обеспечения, написанного программистами, напрямую зависит от скорости и стабильности операционной системы и аппаратной части сервера, на котором выполняется это ПО.
Если с аппаратной частью - все более-менее ограничено физическими возможностями аппаратуры, то в программной части - хотелось бы иметь оптимально настроенный пакет сервисов, способный выжать из вашего оборудования максимум.
В данной статье пойдет речь про сетап сервера centos 6 для задач веб - сервера. В результате на выходе мы должны получить полностью готовую систему для работы в связке: nginx + php-fpm + mysql, причем каждый виртуальный хост нашего сервера будет работать под своим пользователем, которому, при необходимости, можно организовать как ftp, так и ssh доступы. Отдельно будет организована система бекапов, которые также будут доступны вашим пользователям.
Предполагается, что все эти прелести мы начинаем устанавливать по удаленном доступу после того как первоначально засетапили Centos c ssh-доступом.
На первом этапе, устанавливаем пакеты, необходимые для последующих компиляций. Ниже приводим список пакетов для yum -y install, которые устанавливаем на наш сервер:
gcc - компиляторы под linux, необходимы для настроки системы
crontabs - используемый нами планировщик задач
mysql-devel - набор библиотек и заголовочных файлов необходимых для компиляции php-fpm
wget - старый добры wget для консольного вызова процедуры загрузки файлов по internet
pcre pcre-devel - необходимо нам для работы с
zlib zlib-devel - необходимо для компиляции php-fpt
make - необходимая утилита для процесса компиляции и конфигурации
telnet net-tools - полезные утилиты для комфортной работы с сетью
openssl openssl-devel - утилиты криптографии
libcurl libcurl-devel - программа и библиотеки для работы с множеством протоколов, необходим для php-fpm
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel t1lib t1lib-devel ghostscript-devel libtiff-devel - библиотеки и пакеты программ для работы с графикой и шрифтами
lynx - текстовый браузер
svn - система управления версиями
ntpdate - для поддержания актуальных даты и времени на сервере
bind-utils - dig, host и nslookup
acpid - обработка кнопок включения/выключения
mlocate - утилиты для поиска файлов на диске
memcached libmemcache libmemcached memcached-devel - для организации кеширования данных в нашей CMS
autoconf - для автоматической конфигурации исходников
bzip2 bzip2-devel unzip - утилиты и библиотеки архивирования
ImageMagick - мощный инструмент для работы с картинками из командной строки
man man-pages - система справочников под linux
logrotate - пакет для организации сжатия и ротации логов
psmisc - для pstree
rsnapshot - для организации системы бекапов