Хостинги (Статей: 18)

Хо́стинг (англ. hosting) — услуга по предоставлению вычислительных мощностей для физического размещения информации на сервере, постоянно находящемся в сети (обычно Интернет). Хостингом также называется услуга по размещению оборудования клиента на территории провайдера с обеспечением подключения его к каналам связи с высокой пропускной способностью (колокация, от англ. collocation).
Обычно под понятием услуги хостинга подразумевают как минимум услугу размещения файлов сайта на сервере, на котором запущено ПО, необходимое для обработки запросов к этим файлам (веб-сервер). Как правило, в услугу хостинга уже входит предоставление места для почтовой корреспонденции, баз данных, DNS, файлового хранилища и т. п., а также поддержка функционирования соответствующих сервисов.
Хостинг баз данных, размещение файлов, хостинг электронной почты, услуги DNS могут предоставляться отдельно как самостоятельная услуга, либо входить в понятие услуги.
Решил написать данную статью для того, чтобы собрать всю информацию по данному поводу в одном месте.
У многих возникает вопросы по оптимизации сервера. Расскажу как я добился скорости загрузки страницы за 0.013 секунд.
Итак. У нас есть чистый Debian либо Ubuntu.

Нам предстоит установить и настроить:
— Apache 2
— PHP 5
— MySQL 5
— nginx
— memcached
— eAcellerator
— Sphinx
Буду писать для Ubuntu Server 9.04, впринципе для дебиана почти всё так же.
Расчитываем на то, что сеть у нас уже настроена.

Краткая справка по редактору vi (мы его будем использовать для редактирования):
— для вставки текста нажмите i, затем вводите текст
— для удаления символов нажмите ESC, а затем наберите x
— для выхода из vi без сохранения изменений нажмите ESC, а затем наберите :q!
— для сохранения и выхода нажмите ESC, а затем наберите :wq
Устанавливаем LAMP
$ sudo apt-get update
$ sudo apt-get install apache2 php5 php5-mysql mysql-server-5.0
Устанавливаем nginx.
Сам компилил из исходников, но лучше взять deb пакет здесь: http://packages.debian.org/unstable/web/nginx
Тянем пакет, устанавливаем (ссылку берём выше для своей архитектуры, у меня 64 бит).
$ wget http://ftp.de.debian.org/debian/pool/main/n/nginx/nginx_0.7.59-1_amd64.deb
$ dpkg -i nginx_*
Доустанавливаем модуль к апачу (обязательно):
$ apt-get install libapache2-mod-rpaf

Вешаем апач на другой порт, например 81 (можете на 8080, не суть важно):
$ vi /etc/apache2/ports.conf
В файле назначаем:
Listen *:81
Далее настраиваем виртуальный хост apache.
Копируем дефолтный конфиг:
$ cd /etc/apache2/sites-available
$ sudo cp ./default /etc/apache2/sites-enabled/example.com
Редактируем конфиг виртуалхоста апача:

$ vi /etc/apache2/sites-enabled/example.com
<VirtualHost *:81>
ServerName www.example.com
ServerAlias example.com
ServerAdmin webmaster@example.com

DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory〉

ErrorLog /var/log/apache2/error.log

LogLevel warn

ServerSignature On

</VirtualHost>

Настраиваем gzip сжатие для nginx. Открываем конфиг:

$ vi /usr/local/etc/nginx/nginx.conf
Пример конфига:
user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 64;
    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;


    gzip                on;
    gzip_proxied        any;
    gzip_min_length     1100;
    gzip_http_version   1.0;
    gzip_buffers        4 8k;
    gzip_comp_level     9;
    gzip_types          text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}


Немного мана (полный ман: sysoev.ru/nginx/docs/http/ngx_http_gzip_module.html):
#Разрешить сжатие для всех проксированных запросов
gzip_proxied any;

# MIME-типы которые необходимо жать
gzip_types text/plain text/html text/xml application/xml application/x-javascript text/javascript text/css text/json;

# Уровень gzip-компрессии (у меня 9, т.е. максимальное сжатие, т.к. ресурсы позволяют)
gzip_comp_level 8;

Для виртуалхоста создаем новый конфиг:
$ vi /etc/nginx/sites-enabled/example.com
server {
listen 80;
server_name example.com;

access_log /var/log/nginx/example.com-nginx.access.log;

location / {
proxy_pass http://127.0.0.1:81/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 40m;
client_body_buffer_size 256k;

proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 120;

proxy_buffer_size 64k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#Static files location
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|html|flv|mp3)$ {
root /var/www/example.com; }

}
Проверяем конфиг nginx:
$ nginx -t

Устанавливаем memcached:
$ apt-get install memcached
Конфигурация memcached находится по адресу /etc/php5/conf.d/memcache.ini
По началу ничего менять не стоит.

Устанавливаем eAccelerator.
Так же тянем php5-dev, т.к. нам понадобится утилита phpize.
$ sudo apt-get install php5-dev 
$ sudo apt-get install make
$ sudo cd /tmp/ 
$ sudo wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2 
$ sudo tar xvjf eaccelerator-0.9.5.3.tar.bz2 
$ sudo cd eaccelerator-0.9.5.3 
$ sudo phpize 
$ sudo ./configure --enable-eaccelerator=shared 
$ sudo make 
$ sudo make install

Создаем папку кеша:
$ sudo mkdir -p /var/cache/eaccelerator 
$ sudo chmod 0777 /var/cache/eaccelerator
Редактируем конфиг PHP:
$ vi /etc/php5/apache2/php.ini

Добавляем строки в самом верху:
[PHP]

; eAccelerator configuration
; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
; If you are using a thread safe build of PHP you must use
; zend_extension_ts instead of zend_extension
extension                       = "eaccelerator.so"
eaccelerator.shm_size           = "16"
eaccelerator.cache_dir          = "/var/cache/eaccelerator"
eaccelerator.enable             = "1"
eaccelerator.optimizer          = "1"
eaccelerator.check_mtime        = "1"
eaccelerator.debug              = "0"
eaccelerator.filter             = ""
eaccelerator.shm_max            = "0"
eaccelerator.shm_ttl            = "0"
eaccelerator.shm_prune_period   = "0"
eaccelerator.shm_only           = "0"
eaccelerator.compress           = "1"
eaccelerator.compress_level     = "9"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
Внимание!
Если у вас достаточно свободной оперативной памяти, то рекомендую включить режим кэширования байт-кода исключительно в оперативной памяти:
eaccelerator.shm_only           = "1"
А так же увеличить доступную память для кеша:
eaccelerator.shm_size           = "128"
Так же в пакете аксселлератора есть файл control.php, которым вы можете управлять кешем и анализировать ошибки, что очень удобно. Класть этот файл нужно обязательно по пути
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
Иначе будет выдавать ошибки.

Далее устанавливаем Sphinx.
Зачем я повторяюсь, ведь об этом уже написано несколько постов (кстати в интернете мануалов поти нет)? Отвечаю: я столкнулся с такими проблемами, которые там не обхвачены, поэтому пишу из-за этих моментов.
Тянем исходники (в репозиториях пакета нет), распаковываем и устанавливаем:
$ wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz
$ tar –xzvf sphinx-0.9.8.tar.gz
$ cd sphinx-0.9.8
$ ./configure
$ make
$ make install
$ mkdir -p /var/db/sphinx/log
$ chmod -R 777 /var/db/
Далее редактируем файл конфигурации, любезно составленный kruft'ом (за что ему, или не ему, но всёравно спасибо), но приведу сразу полностью рабочий и готовый вариант (вариант из авторской статьи не актуален и требует допиливания):
$ vi /usr/local/etc/sphinx.conf
## Конфигурационный файл Sphinx-а для индексации Живой улицы

#######################
#
# Описываем индексы
#
#######################

# Источник-родитель для всех остальных источников. Здесь указываются параметры доступа 
# к базе данных сайта
source lsParentSource
{
        type            = mysql
        sql_host        = your_database_host
        sql_user        = your_database_login
        sql_pass        = your_database_password
        sql_db          = your_database_name
        sql_port        = 3306
        # Для ускорения работы прописываем путь до MySQL-го UNIX-сокета (чтобы 
        # операции с БД происходили не через TCP/IP стек сервера)
        sql_sock        = /var/run/mysqld/mysqld.sock
    
        
        mysql_connect_flags     = 32 # 32- включение сжатие при обмене данными с БД
    
        # Включам нужную кодировку соединения и выключаем кеш запросов
        sql_query_pre                   = SET NAMES utf8
        sql_query_pre                   = SET SESSION query_cache_type=OFF    
}

# Источник топиков
source topicsSource : lsParentSource
{
        # запрос на получения данных топиков
        sql_query               = \
                SELECT t_fast.topic_id, t_fast.topic_title, UNIX_TIMESTAMP(t_fast.topic_date_add) as topic_date_add, \
                tc.topic_text, t_fast.topic_publish \
                FROM prefix_topic as t_fast, prefix_topic_content AS tc \
                WHERE t_fast.topic_id=tc.topic_id AND t_fast.topic_id>=$start AND t_fast.topic_id<=$end

        # запрос для дробления получения топиков на неколько итераций
        sql_query_range         = SELECT MIN(topic_id),MAX(topic_id) FROM prefix_topic
        
        # сколько получать объектов за итерацию
        sql_range_step          = 1000

        
        # Указываем булевый атрибут критерия "топик опубликован". Для возможности указания этого критерия при поиске
        sql_attr_bool           = topic_publish

        # Атрибут даты добавления, типа "время"
        sql_attr_timestamp      = topic_date_add

        # мульти-аттрибут "теги топика"
        sql_attr_multi  = uint tag from query; SELECT topic_id, topic_tag_id FROM prefix_topic_tag

        sql_ranged_throttle     = 0
}

# Источник комментариев
source commentsSource : lsParentSource
{
        sql_query               = \
                        SELECT comment_id, comment_text, UNIX_TIMESTAMP(comment_date) as comment_date, comment_delete \
                        FROM prefix_topic_comment \
                        WHERE comment_id>=$start AND comment_id<=$end

        sql_query_range         = SELECT MIN(comment_id),MAX(comment_id) FROM prefix_topic_comment
        sql_range_step          = 5000

        sql_attr_bool           = comment_delete
        sql_attr_timestamp      = comment_date
}

#######################
#
# Описываем индексы
#
#######################

index topicsIndex
{
        # Источник, который будет хранить данный индекса
        source                  = topicsSource
        path                    = /usr/local/SphinxIndex/topicsSource

        # Тип хранения аттрибутов
        docinfo                 = extern

        mlock                   = 0

        # Используемые морфологические движки
        morphology              = stem_enru, soundex, metaphone

        # Кодировака данных из источника        
        charset_type            = utf-8


        # Из данных источника HTML-код нужно вырезать
        html_strip                              = 1
}

# Индекс комментариев
index commentsIndex
{
        source                  = commentsSource
        path                    = /usr/local/SphinxIndex/commentsSource

        docinfo                 = extern

        mlock                   = 0

        morphology              = stem_enru, soundex, metaphone

        charset_type            = utf-8
}

#######################
#
# Настройки индексатора
#
#######################


indexer
{
        # Лимит памяти, который может использавать демон-индексатор
        mem_limit                       = 32M
}

#######################
#
# Настройка демона-поисковика
#
#######################

searchd
{
        # Адрес, на котором будет прослушиваться порт
        address                         = 127.0.0.1


        # Ну и собственно номер порта демона searchd
        port                            = 3312

        # Лог-файл демона
        log                                     = /var/log/sphinx/searchd.log

        # Лог поисковых запросов. Если закомментировать,то логировать поисковые строки не будет
        query_log                       = /var/log/sphinx/query.log

        # Время в секундах, которое ждет демон при обмене данными с клиентом. По исчерпании происходит разрыв коннекта
        read_timeout            = 5

        # Максимальное количество одновременно-обрабатываемых запросов. 0 означает дофига, а точнее без ограничения
        max_children            = 30

        # Файл, в который сохраняется PID-процесса при запуске
        pid_file                        = /var/log/sphinx/searchd.pid
}

Не забываем прописать настройки MySQL.
Далее создаем папку для базы индекса и устанавливаем права на запись:
$ mkdir -p /usr/local/SphinxIndex
$ chmod -R 777 /usr/local/SphinxIndex/
Запускаем индексацию:
$ /usr/local/bin/indexer --all
Запускаем демон:
$ /usr/local/bin/searchd

Далее останется лишь прописать сфинкс в крон:
$ vi /etc/crontab
Добавляем:
0 */3 * * * /usr/local/bin/indexer --all --rotate
Это значит, что мы будем запускать индексацию каждые 3 часа.

Перезапускаем сервисы:
$ service apache2 restart
$ service nginx restart
$ service memcached restart
На сим всё должно работать.
Проверяем в phpinfo()
В хеадере eAccelerator:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright © 1998-2008 Zend Technologies
with eAccelerator v0.9.5.3, Copyright © 2004-2006 eAccelerator, by eAccelerator

И ниже
memcache support enabled
Проверяем работоспособность портов (PID и DEVICE конечно же могут быть другими):
lsof -i
Мы должны видеть ниже строки:
apache2     948 www-data    3u  IPv4  47935       TCP *:81 (LISTEN)
memcached  3096   nobody    3u  IPv4 165608       TCP localhost:11211 (LISTEN)
nginx     19605 www-data    6u  IPv4  62263       TCP *:www (LISTEN)

Если таковые имеются, то сервер работает как задумывалось. smile
Доменная зона .TK принадлежит островам Tolelau, которые расположены на юге Tихого океана между Гавайскими островами и Новой Зеландией.
Бесплатный домен - это, конечно, хорошо. smile Но для полноценного использования домена .TK Вам также потребуется и хостинг (место, где будут размещены файлы Вашего сайта),необходимо при регистрации настроить DNS домена.
Для регистрации домена нужно пройти несколько этапов:
Зарегистрируйте доменное имя бесплатно! Например: www.moydomen.tk
http://www.dot.tk/ru/pageA00.html
При регистрации вы можете выбрать опции "Бесплатный домен" и "Платный домен" - если Вы оплатите Ваш аккаунт, набор предлагаемых услуг гораздо шире!
Вы станете легальным владельцем домена и получите право продажи и передачи домена другому лицу. Кроме того, Вам не нужно будет заботиться о минимуме в 25 посещений на Вашу страницу в течение 90 дней! Цены варьируются от USD 6.95 в год!
(Это касается другой опции про посещение).
Вот полный FAQ для чайников на русском как зарегистрировать домен org.ua и получить бесплатные NSы
1. Регистрируем почту
Заявление лучше всего отправлять с малоизвестного почтового домена. Потому что:
Цитата:«Для предотвращения массовой регистрации доменов количество заявок, принимаемых с одного почтового домена, не превышает 3 заявок в сутки. В удовлетворении следующих заявок будет отказано сразу после их размещения в очереди. Будьте внимательны: ваш почтовый домен — это не то же самое, что Ваш почтовый ящик!»
Неплохо для подачи заявлений подходит яндексовская почта или к примеру проверенная почта inet.ua или любая в доменной зоне .ua .
Для примера мы зарегали: primer@inet.ua
2. Добываем себе Nic-handle
На сайте https://hostmaster.net.ua/?uanew1 регистрируем Nic-handle заполнив форму.
Ждём письма от help@whois.com.ua с темой "Your password".
К примеру Мы взяли себе MY00-UANIC .
5. Отсылаем заявку на домен
К автоматической обработке принимаются заявления, размер которых не превышает 4 KB, без прикрепленных файлов, формат отправки сообщений - plain text (без гиперссылок), в кодировке koi8. Невыполнение этих требований - самая распространенная причина ошибок при регистрации.
Заявление направляется по адресу register_query@org.ua, имеет заглавие (тему) ADD полное имя домена и выглядит так:
domain: указывается полное имя домена
descr: описание сайта на английском языке (два — три слова хватит)
admin-c: персональный код ответственного за регистрацию домена (nic-handle из базы данных UANIC)
tech-c: персональный код ответственного за техническую поддержку (nic-handle из базы данных UANIC)
nserver: имена DNS-серверов (их должно быть как минимум два)
changed: email автора заказа, и дата в формате ггггммдд (гггг — год, мм — месяц, дд — день)
source: источник данных (для org.ua всегда UANIC)
Порядок написания заявления должен отвечать вышеуказанному плану. Неправильно составленные заявления служба Org.Ua возвращает отправителю.
Пример (для домена primer.org.ua и владельца с nic-handle MY00-UANIC):
Subject: ADD primer.org.ua
domain: primer.org.ua
descr: all internet is here
admin-c: MY00-UANIC
tech-c: MY00-UANIC
nserver: ns1.free-webhost.ws
nserver: ns2.free-webhost.ws
changed: primer@inet.ua 20090305
source: UANIC
На адрес указанный в admin-c будет выслано письмо с просьбой подтвердить
регистрацию. Следуем инструкциям в письме - подтверждаем.
nserver: ns1.free-webhost.ws
nserver: ns2.free-webhost.ws
это пример
нужно будет отправить письмо в ответ на полученное на domain-master@com.ua, где стереть все кроме таких строк (пример):
application: 1693668
checksum: 31159
approve: Y
Через несколько часов в Ваш e-mail придёт уведомление об успешной регистрации домена.
>>Добавленно
Я уже писал о регистрации org.ua. Регистрация этих ничем не отличается.
pp.ua - недавно открылся
net.ua - только для юр. лиц
gov.ua - только для гос. учреждений
te.ua
ternopil.ua
uz.ua
uzhgorod.ua
vinnica.ua
vn.ua
chernovtsy.ua
cv.ua
ivano-frankivsk.ua
kherson.ua
km.ua
ks.ua
mk.ua
nikolaev.ua
pl.ua
poltava.u a
rovno.ua
rv.ua
sumy.ua
if.ua
Копипаст с темы на форуме:
http://visavi.net/forum/topic.php?tid=492
Термин «имя» (домена, сайта, веб-проекта, сетевого ресурса) в технологиях веб-дизайна имеет первостепенный приоритет, так как организация гипертекста возможна лишь при условии имеющейся базы оригинальных (иногда также говорят, «уникальных») промежуточных / конечных сетевых адресов. Для объяснения такого положения дел, необходимо уверенно разбираться в сущности веб-архитектуры (подсказкой в сём мероприятии может послужить содержание статьи о структуре Интернета).
Система адресации в виртуальном пространстве Интернета принципиально не отличается от своего аналога, существующего в физическом мире. Имя всякого (и любого) сетевого ресурса должно быть таковым, чтобы при обращении к нему из абстрактной точки киберпространства исключалась возможность двоякого толкования; в сущности, именно это мы можем наблюдать и в реальности. Предположим, что в некоем государстве (в Интернете их роль играют зоны, то есть домены первого уровня) де-факто присутствуют два города с совершенно одинаковыми названиями; имя одного из них абсолютно идентично другому... каким образом мы можем идентифицировать адресат?
Единственно корректным (не нужно извращаться, вспоминая о разных областях и иных административных образованиях): следует привнести в написание / произношение названия своеобразную «изюминку». Пример для «большого» мира: Ростов в Ярославской области и город с тем же именем, расположенный гораздо южнее, ближе к Кубани; мы различаем их, как Ростов Великий и Ростов-на-Дону.
Таким образом, имя конкретного адресата должно быть совершенно уникальным, причём такая уникальность в технологиях веб-дизайна может быть обеспечена самой малой, и на наш с вами взгляд, совершенно незначительной деталью (скажем, можно использовать один-единственный, отличающийся от «оригинала» символ, равно как и отсутствие какого-либо символа, или же дополнение к названию в любом, допустимом условиями написания виде и так далее). При соблюдении этих требований, всякий элемент веб-проекта (сетевой ресурс) обретает собственное уникальное имя.
Понятия изучение DNS записей
DNS — аббревиатура от англ. Domain Name System, буквальный перевод: система доменных имён. Это одна из тех исключительно важных «мелочей», которых в технологиях веб-дизайна и Интернета так много, что начинающим веб-мастерам они способны не на шутку испортить настроение...
На самом же деле, всё до банальности просто.
Зарегистрировав доменное имя, мы не совершили никаких подвигов, поскольку об этом знаем лишь мы сами (и ещё регистратор, конечно). Всем компьютерам Сети о данном факте, то есть о появлении нового домена, ровным счётом ничего не известно. Для того, чтобы наш домен мог быть вызван из какой-либо точки Сети, само его имя должно быть внесено в своеобразный реестр... который и называется системой доменных имён (DNS).
Это осуществляется следующим образом: вы добавляете имя своего домена в список доменов, приписанных к конкретному серверу. Сервер «принимает к сведению», что отныне он должен отвечать на запросы, обращённые в адрес вашего домена. Информация об этом проходит по соответствующим серверам Интернета, и спустя некоторое время (от нескольких часов до двух-трёх суток) практически вся Сеть будет извещена о том, что такой-то домен управляется именно вот этим сервером.
Таким образом, любой запрос в адрес вашего домена будет адресован к серверу, где размещён ваш сайт. А вся эта механика работает быстро и надёжно, что обеспечивается как раз системой DNS.
Подразумевается, что у каждого сервера Интернета должен быть свой собственный DNS. Это соответствует действительности. А «прописка» на конкретном сервере осуществляется так: в специальной панели управления доменом вы должны вписать несколько символов, которые вам укажет администратор хостинговой площадки, например (предположим, что используется имя домена mydomain.ru, DNS-адреса сервера dns3.4 и dns3.5):
Ваш домен: DNS1 DNS2
mydomain.ru	
dns3.4	
dns3.5
Внимание!
Не смешивайте понятия панели управления сайтом, которую вам предоставляет администрация хостинга, и панели управления доменом (доменным именем), которую предоставляет НЕ хостер, но регистратор домена. Первая предназначена для сайта (что логично следует из её названия), а вторая для определения DNS-адреса домена.
Очень удобно, когда панель управления доменом находится в распоряжении пользователя. Бывают случаи, когда на серверах возникают серьёзные неполадки (хотя и очень редко, но всё же). При появлении таковых, можно «перебросить» веб-проект на другую площадку и переписать DNS-адреса домена; как правило, через сутки сайт будет доступен уже на новом сервере.
klass
Технологии веб-дизайна. Выбор сервера (хостинга)
Сервер — так называется компьютер, оборудованный специальным программным обеспечением (ПО) и постоянно подключенный к сети Интернет (как правило, по высокоскоростному соединению). Серверными технологиями в веб-дизайне именуются программные методики, обеспечивающие функциональность ПЭВМ именно в этом качестве (подробнее о работе сервера см. в материалах Технологии веб-дизайна на neoregion.ru). К слову: настоятельно рекомендуем не «перескакивать» с одного материала на другой, так как для понимания сущности определений необходимо ознакомиться с базовыми методиками.
В сущности, физически сервер ничем особенным от хорошо оборудованного бытового компьютера и не отличается, кроме установленного на нём серверного программного обеспечения (то есть комплекса программ, позволяющих использование ПЭВМ именно в качестве сервера).
Серверные технологии веб-дизайна весьма своеобразны и далеко не просты, но отнюдь не какой-либо особой мудрёностью, а непосредственно своим отличием от ПО бытовых машин. Как раз поэтому для диалога пары «сервер-клиент» (то есть для связи сервера с бытовым компьютером) требуется особое ПО, называемое браузер. Несколько забегая вперёд, отметим, что «общение» сервера с клиентской машиной посредством браузера — это далеко не единственный способ обмена данными.
Мы не будем забираться в дебри серверных технологий веб-дизайна, поскольку это тема для совершенно другого сайта. Отметим лишь те характеристики, которые для начинающего пользователя весьма важны.
Основные характеристики сервера. Выбор сервера
Не смущайтесь, если никогда не слышали ранее терминов типа FreeBSD, Apache или Unix. Они описывают... скажем так: программные платформы, на базе которых построены серверные технологии. Нам важно знать лишь то, что может отразиться на нормальном функционировании нашего сайта.
Что для этого необходимо, можно определить из недвусмысленных условий, сопровождающих описание каждой из CMS (тип базы данных, версия используемого языка программирования и проч.) и имеющих название «минимально необходимые требования».
Например, минимально необходимые требования для установки и функционирования CMS Joomla! версии 1.5.12:
PHP 4.2.x или выше;
MySQL 3.23.x или выше;
Apache 1.13.19 или выше.

Следовательно, при выборе хостинга обращайте внимание на наличие именно этих (не ниже) версий ПО и технологий (PHP: язык серверного программирования; MySQL: тип использующейся системой базы данных; Apache: тип серверной среды).
Если же вы работаете как самостоятельный, творческий веб-дизайнер, узкие рамки даже самых «навороченных» CMS будут для вас слишком тесны. Для веб-проектов, решаемых на базе HTML, годится практически всякая серверная площадка (ибо HTML является «основой основ», это, выражаясь образно, нечто незыблемое и неизменное). Но для установки корректной обратной связи вам понадобится и РНР, и база данных; кроме того, они будут необходимы и для интерактивных расширений сайта (например, таких, как форум).
Поэтому выбирайте из технологий нечто такое, что даст вам потенциальную возможность расширять и реконструировать свой сайт в дальнейшем (этого требует методика анализа сайта, см. также здесь).
Совет: не ограничивайте себя некими вовсе минимальными требованиями. Дисковое пространство пусть будет относительно небольшим, так как его можно без труда увеличить, перейдя на более дорогой тариф; но вот такие технологии веб-дизайна, как PHP и MySQL, пусть будут на сервере непременно (а также предоставлены вам по тому тарифу, который вам пришёлся по душе).
Тарифы и характеристики хостинга
Тарифов множество; едва ли не каждый хостер придумывает для себя свои, оригинальные. Это право собственников.
На сайтах хостинга тарифные планы описаны в достаточно полной мере. Вот их основные характеристики (НЕ технологий сервера, а тарифного плана!):
предоставляемое дисковое пространство;
наличие расширений в виде PHP и MySQL, а также их версии;
ограничение трафика;
сколько доменов можно держать на одном аккаунте;
способ и эффективность поддержки;
какая используется панель для управления и контроля;
предоставление доменов за минимальную цену и проч.
Если у вас ещё нет собственного доменного имени, на последний пункт обратите особое внимание (разумеется, если домен вам нужен).
С технологиями вы определились, выбор хостинга сделан, доменное имя приобрели. Теперь необходимо прописать домен на данном сервере, то есть задать для имени конкретные DNS; на этом заканчивается организационная часть создания сайта. Сразу добавим: самая лёгкая, krut поскольку ровным счётом ничего особенного мы не сделали.
Выбор хостинга для сайта
При создании сайта для заработка в интернет или просто, нужно позаботиться о многих вещах, потому что если хоть что-нибудь пойдет не так как нужно, об успешном ресурсе можно забыть. Кроме выбора правильного домена, CMS, дизайна и тематики нужно выбрать по-настоящему хороший хостинг.
Функционал компании:
Это услуги, которые нам предлагает хостинговая компания – должен быть ровно таким, какой нужен нашему сайту. Исключение: можно выбрать хостинг, функционал которого будет шире, чем нам требуется.
Объем дискового пространства:
Этот параметр показывает, сколько места на жестком диске сервера будет для Вас зарезервировано. Принцип “Чем больше, тем лучше” конечно работает, но не стоит переплачивать за место, которое будет пустовать. Если Ваш сайт уже готов, то узнать, сколько места он займет просто, в противном случае придется определять это “на глаз”. В любом случае лучше выбрать хостинг, с небольшим запасом дискового пространства. Часто начинающие веб-мастера смотрят только на этот параметр, но при выборе хорошего хостинга он далеко не самый важный.
Технологии:
Собственно нужно знать, будут ли поддерживаться PHP, MySQL, Perl, CGI, SSI и др. А так же нужно узнать какие именно версии поддерживаются. Они должны совпадать с теми, которые требует Ваша CMS.
Количество возможных ftp-аккаунтов и e-mail -ящиков
которые можно создать. В принципе, если Вы хотите выбрать хороший хостинг для единоличного пользования, то можно обойтись и 1 аккаунтом и 1 ящиком.
Панель управления:
интерфейс, через который вы будете управлять хостингом – настраивать доступ к файлам, создавать ftp-аккаунты, почтовые ящики, управлять доменами и т.д. Наиболее популярные сейчас – Cpanel и DirectAdmin. Естественно справочники по ним будет проще найти. Какой выбрать хостинг в случае, если выбор идет между двумя этими панелями – дело вкуса каждого.
Как происходит закачка файлов на сервер:
Сейчас каждый уважающий себя хостер предоставляет возможность закачивать файлы через web-интерфейс и по ftp-протоколу. Хотя встречаются и те, кто предлагает только web-интерфейс. От них лучше отказаться сразу, потому что такой способ закачки неудобен, он медленный и о качестве остальных услуг приходится сомневаться. Лучше от выбора последнего хостинга отказаться.
Бэкапы:
Хостинговая компания может гарантировать сохранность ваших данных двумя способами: время от времени делать резервную копию Вашего сайта или использовать несколько жестких дисков с помощью raid контролера. При этом диски будут взаимозаменяемы и, если с одним из них что-то случится, то второй будет продолжать работать. Лучше выбрать хостинг, где будут использоваться оба способа. В прочем, как бы хорошо хостеры не делали бэкапы, свою резервную копию нужно хранить у себя и почаще ее обновлять.
Предустановленные скрипты:
Хостер может предложить продать Вам место на диске, где уже будут установлены CMS, скрипты рассылок, статистики и т.д. Это будет полезно, если не хочешь делать все сам. В любом случае стоит убедиться в том, что не придется платить за предустановленные скрипты, если они Вам не нужны
Домены и субдомены:
На хостинге со среднестатистическим тарифом хватает места больше чем на один сайт, а вот реальной возможности расположить там N сайтов может и не быть. Ограничивать чисто сайтов может максимальное количество доменов.
Вероятно, в будущем Вам может пригодиться возможность создания субдоменов (например, poddomen.site.ru – субдомен основного домена site.ru), поэтому стоит убедиться, сколько можно создать субдоменов и можно ли вообще это делать. Соответственно лучше не выбирать хостинг без этой возможности.
Количество баз данных
Если Вы собираетесь держать несколько сайтов на одном хостинге, то кроме доменов Вам нужно будет и несколько баз данных (для каждого сайта своя), если же, конечно, ваши сайты используют БД.
Качество услуг
Хостер может пообещать ежедневный бэкап, неограниченный трафик, быстрый сервер, хороший саппорт (поддержку) и 100-процентный аптайм, но на деле же всего этого может и не быть. Но как выбрать хостинг в этом случае? Нужно попробовать выяснить действительно ли так хорошо работает хостинговая компания до того, как платить ей.
- Начнем с грустного. Неограниченного объема трафика не бывает, как бы хостер это не обещал. Предел есть всегда, только узнать вы можете о нем слишком поздно. Трафик создает нагрузку на сервер, а хостинговой компании нужно отбивать затраты на его содержание.
Поэтому если решать какой хостинг лучше – с ограниченным трафиком или нет: ответ не будет очевиден. Когда вы превысите «неограниченный» размер трафика то хостер может сделать одно из трех:
1) Просто отключить ваш сайт, сославшись на то, что он потребляет слишком много мощности сервера (а этого проверить Вы не сможете);
2) Попросить Вас (читай – потребовать) перейти на более дорогой тариф, мотивируя тем же;
3) Просто попросить доплатить, аргументы хостера вряд ли изменятся. Лучше всего, перед оплатой выяснить у саппорта, что подразумевается под «неограниченным трафиком». Если саппорт что-то не договаривает, то лучше этот хостинг не выбирать.
- Нужно выяснить, как часто делаются бэкапы на сервере, и как долго хранятся резервные копии. Не лишним будет почитать в отзывах, о том добросовестно ли хостинговая компания делает бэкапы.
- Аптайм (Uptime) – время, в течение которого сервер находится в рабочем состоянии. Значение в 100% лишь теоретическое, а вот к 99.9% процента нужно стремиться. И нужно выбирать хостера, который не только стремится к нему, а уже достиг.
- Операционная система. Лучше выбирать сервера, где стоят ОС GNU/Linux или Free BSD. Они надежнее и дешевле.
- Скорость канала и работы сервера. Первая показывает, с какой скоростью сервер может обмениваться информацией с вашими пользователями, а вторая – с какой скоростью он будет исполнять ваши скрипты. Фактически скорость лучше измерять на глаз, открыв парочку сайтов, которые расположены у того же хостера. Если они загружаются быстро – отлично. Также нужно воспользоваться различными сервисами. Например, host-tracker.com.
- Физическое расположение сервера. Об этом можно найти информацию на сайте компании или уточнить в службе поддержки. Если сервер будет находиться в одном регионе Вашими пользователи, то загружаться сайт у них будет быстрее (при других равных условиях). Но при выборе хостинга лучше руководствоваться этим свойством в последнюю очередь.
- Техническая поддержка, она же саппорт (support). Очень важно, чтобы в службе поддержке были профессионалы, еще лучше, если эти профессионалы будут отвечать быстро, а в идеале – еще и вежливо. К сожалению это не всегда так. Перед оплатой можно отправить пару тестовых вопросов в саппорт и если они ответят за несколько часов – значит все хорошо. Сутки – плохо. Больше – очень плохо.
Некоторые хостеры обещают саппорт, работающий круглосуточно, но мало у кого он действительно работает в таком режиме. Поэтому если хостинговая компания честно призналась, что ее служба поддержки работает с 9 до 18 часов – это ей только в плюс, потому что лучше выбрать хостинг, который не обещает, а реально предоставляет оговоренные услуги.
- Неплохо выяснить, кто вообще стоит за названием компании – физическое или юридическое лицо. Реальная компания обычно ответственнее относится к своим обязанностям, но и цены у нее выше. Если услуги хостинга предоставляет Вам частное лицо, то это тоже не всегда плохо – некоторые работают не хуже компаний, а цены у них ниже. Какой хостинг лучше: предоставляемый серьезной компанией или частным лицом – выбор не всегда очевиден. Отличить компанию от отдельного человека можно по нескольким признакам:
1)на сайте компании можно найти полные контактные данные, включая адрес и регистрационные данные компании, а не только e-mail и icq.
2)Услуги компании можно оплатить несколькими способами, включая кредитные карты и банковские переводы, а не только web money.
3)Компания заключает с Вами полноценный договор, а не требует согласия с набором правил. Хотя и толку от договора не больше, потому что смысл его в том, что хостер конечно постарается хорошо работать, но в случае чего, ничем Вам не обязан.
Цена:
Понятно, что цена не должна быть очень высокой, но и сверх низкую тоже лучше не искать. При правильном выборе хостинга желательно чтобы цена была пропорциональна ожидаемым доходам сайта.
Еще несколько слов нужно сказать о том, что при выборе сильно доверять отзывам не стоит. Возможно, у людей были другие потребности, им просто не повезло, или они сами не слишком адекватны. Идеально, если хостингом пользовался Ваш хороший знакомый.
Еще пару слов о том, что редко удается ответить на вопрос какой выбрать хостинг. Часто приходится перебрать несколько компаний, прежде чем найти ту, услуги которой Вас устроят. Но если знать, как выбрать хостинг и обращать внимание на те вещи, о которых говорилось выше, то найти хороший хостинг можно быстрее.
Итак, я ответил на вопрос «Как выбрать хостинг?». Если кратко, то вот что нам нужно: хостинг, где у нас будет запас дискового пространства, возможность разместить еще несколько сайтов, возможность использовать ftp-протокол, запас месячного трафика, возможность создать несколько баз данных, удобная панель управления. При этом сервер должен все время работать, причем быстро. Сапорт должен вовремя и информативно отвечать. При всем этом цена не должна быть слишком высокой.
Многие хостеры предлагают moneyback (манибек). Это означает, что можно воспользоваться услугами хостинга и, если вам что-то не понравиться отказаться от услуг и вернть назад свои деньги.
Ну вот и конец уважаемый читатель и ещё хочу подчеркнуть не кий совет
Выбирайте тот хостинг который проверен людьми и временем,интересуйтесь у людей на форумах,спрашивайте отзывы,смотрите отзывы о Хостинг Коипании,если вам не безразлична судьба сайта! smile
Облако тегов / Авторы