Как выбрать лучший хостинг для вашего сайта или интернет-магазина – руководство по выбору

Как выбрать лучший хостинг для вашего сайта или интернет-магазина – руководство по выбору Хостинг

Codelobster

CodeLobster – один из наиболее известных редакторов, который написан на языке программирования C , имеет гибкий интерфейс и множество настроек, позволяющих работать с любыми WEB-технологиями.

Работа с CodeLobster: по умолчанию встроен весь необходимый функционал, позволяющий работать с отдельными файлами и проектами в директориях. Программа запоминает структуру проекта и обеспечивает простую и быструю навигацию, определение и подсветку некорректных участков с ошибками.

А также позволяет работать с файлами, содержащими куски кода, написанные на разных языках, например, PHP, JavaScript, HTML, которые автоматически определятся и подсвечиваются различными цветами для удобства. Для всех основных функций есть дублирующие комбинации клавиш, которые быстро запоминаются, облегчают и ускоряют работу. Встроенная справка, со всплывающими подсказками, быстрой подстановкой функций и т.д.

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

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

Базы данных и запросы SQL: имеется встроенный клиент для работы со всеми основными видами баз данных, а также возможность одновременного создания нескольких подключений, формирование запросов, их сохранение и загрузка из файлов с расширением sql.

FTP: встроенный FTP-клиент имеет расширенным функционалом, хорошо справляясь с удаленной работой с файлами на сервере, в том числе для тех проектов, которые используют большой количество данных. Соединение по любому из существующих видов протоколов, включая шифрованные соединения.

Поддержка фреймворков: Базовая версия CodeLobster уже имеет все необходимое для работы с большинством популярных PHP библиотек, а также систем управления контентом. Загрузка и подключение фреймворков осуществляется непосредственно из среды редактора.

Вот так выглядит начало создания интернет-магазина с применением Magento:

Также есть возможность работы с такими популярными CMS, как Джумла (Joomla), Друпал (Drupal), ВордПресс (WordPress). Редактор автоматически загрузит и установит последние версии любой из указных систем, в дальнейшем, при необходимости, производя обновлении.

Phpstorm

PHPStorm – редактор, который является популярной IDE, один из наиболее функциональных и удобных, пользующийся огромной популярностью у программистов, от новичков до профессионалов.

Редактор автоматически загружает и сохраняет структуру проекта. Разработана среда на языке Java и платформы IntelliJ IDEA. Открытый исходный код позволяет производить любые настройки и доработки, необходимые разработчику. Также есть несколько тем оформления с различными цветами интерфейса и подсветки.

Работа с PHPStorm: поддерживает работу, как с отдельными файлами, так и директориями, в которых содержится проект. Написание и редактирование кода осуществляется с возможностью использования автоподстановки и автозамены, быстрого поиска и перехода между функциями, описаниями классов, в том числе расположенными в различных исходных файлах.

Отладка: осуществляется в связке с расширением XDebug, который необходимо синхронизировать с соответствующей опцией PHP на сервере. После чего станет доступен весь необходимый функционал, визуальные инструменты для отладки, сообщения об ошибках, точки останова и т.д. Также возможно настроить работу в связке с Zend Debugger.

 Базы данных SQL и базы данных: работа с базами данных настраивается через меню Database, вызываемое через Tool Windows в основном меню View. Можно работать со всеми версиями MySQL, Оракл, Microsoft SQL Server и другими популярными базами данных, просматривая структуру, таблиц, ключевые поля, связи, формируя различные SQL запросы и получая результаты их работы.

FTP: позволяет осуществлять все основные операции на удаленном сервере посредством обычного или защищенного соединения. Доступно редактирование, автоматическая выгрузка файлов, настраиваемая через соответствующий пункт меню.

Поддержка фреймворков: PHPStorm поддерживает абсолютное большинство стандартных движков, а также работает  с основными системами управления контентом, такими как ВордПресс (WordPress), Джумла (Joomla), Друпал (Drupal).

Php-хостинг тарифы

Производительность тарифов достаточно высока, благодаря чему они поддерживают любую CMS. Однако мы рекомендуем не использовать их под нагруженные CMS такие как: Joomla, Drupal, Bitrix и UMI.

ОписаниеHost-1Host-2Host-3Host-4
Общее описание тарифов
HDD, ГБ 1 5 10 15
PHP для каждого хоста: 5.6 / 7.0 / 7.1 / 7.2 / 7.3 / 7.4
Количество сайтов на хостинге (в том числе поддоменов) 1 5 10 30
Количество БД 1 5 10 30
Количество е-mail аккаунтов (POP3 / IMAP / SMTP) 5 10
Поддержка любых CMS
Защита от DDoS
Изоляция сайтов
Сервер с повышенной производительностью
Let’s Encrypt
Автоустановка любой CMS в 3 клика
Ежедневное бэкапирование
Возможность настроить защиту от спама и вирусов
Быстрая настройка почты Mail.ru — для бизнеса
Технические характеристики
Поддержка любых зон на DNS-серверах
Поддержка IonCube Loader
Поддержка php модулей GD, curl
Работа с phpMyAdmin
Поддержка InnoDB
FTP-доступ (ftp-клиент, веб-интерфейс)
Количество FTP-логинов
SSH-доступ
Cron — выполнение заданий по расписанию
POP3/IMAP/SMTP Сервисы с шифрованием для работы с почтой
Оперативная память, выделяемая на работу Cron/Shell-скриптов, МБ 256 256 256 256
Модули apache (mod_rewrite и др.)
Управление .htaccess, собственные страницы ошибок, паролирование директорий
Zend OPcache (только для версии PHP 5.6 и 7.0)
Лог файлы access_log, error_log
Опции и расширения
Техническая поддержка 24/7
Тестовый период 10 дней
Домен в подарок при одновременном заказе хостинга на 1 год
Цена в месяц, руб. 67 126 231 371
Цена в месяц при заказе на год, руб.60.30113.40207.90333.90
 

Sublime text

Sublime Text – нетребователен к ресурсам компьютера, функционален и быстр. Последняя версия Sublime Text была значительно доработана разработчиками, стала еще быстрее, меньше потребляет оперативной памяти.

Программа работает на любой операционной системе, а также есть Portable-версия. Настройки позволяют конфигурировать софт с помощью специальных файлов в формате JSON, настраивая его внешний вид и необходимые функции. Набор API функций позволяет использовать любые дополнения, а также в редакторе есть встроенный интерпретатор для языка Python.

Для того чтобы устанавливать расширения, следует запустить программу, перейти в меню «Tools» и выбрать Package Control – этот инструмент позволяет осуществлять подключение и отключение необходимых пакетов. Для запуска установки необходимо вести команду «Install Package».

Как работать с SublimeText: под проектом понимает папку, в которой находятся все необходимые файлы. Указав путь к ней, вы сможете открыть все необходимые файлы, редактировать. Рекомендуется использовать расширение Syntax Checker, которое будет предупреждать о некорректном коде сообщениями во всплывающем окошке.

После установки этих расширений редактор будет подсвечивать строчки, в которых есть ошибки. Можно использовать встроенную помощь. Достаточно навести указатель мышки на функцию, чтобы высветились все связи, включая список ссылок и тот файл, в котором объявлялась функции. Нажав перейти к определению (Goto Definition), можно перейти к месту в коде, где была объявлена функция и определен класс.

Если разрабатывается приложение с фреймворками и использованием OOP, то будет полезен плагин «PHPCompanion», который установит целый ряд полезных инструментов и функций для импорта классов и работы с пространством имен.

Отладка: для возможности полноценной отладки кода следует установить плагин «Xdebug Client», при этом на сервере с установленным PHP, локальном или удаленном, должна быть возможность включать расширение XDebug.

Базы данных и язык запросов SQL: Sublime Text имеет два основных плагина: SQLExec, SQLTools. Они очень схожи по своим настройкам и функционалу, обеспечивая возможность работы с любыми базами данных на основе SQL, включая Оракл, MySQL всех версий, MSSQL, PostgreSQL, а также Vertica и Firebird.

 FTP: Установив расширение «SFTP», вы получите возможность работы с удаленной файловой системой, например, находящейся на хостинге. Установка расширения добавит простейший интерфейс для совершения всех основных операций с файлами.

Поддержка фреймворков: Редактор имеет базовую поддержку

фреймворков MVC, которая представлена набором коллекций снипетов и доступом к документации с описаниями функции, онлайн справкой.

Дешевый хостинг — 2022

1

Как выбрать лучший хостинг для вашего сайта или интернет-магазина – руководство по выбору

Наша оценка: 8.8/10

Промо-код: 8Tf6aTwC

Хостинг от120 руб.

VPS/VDS от299 руб.

Начал работать в 2022 году

Страна: США

Cерверы: Россия, США, Нидерланды, Сингапур, Англия, Люксембург

Панель управления: SolusVM, DirectAdmin

Поддерживает: PHP, Python, Node.js, HTTP/2, Perl

Диски: высокоскоростные SSD

Бесплатный SSL: есть

Тестовый период: 7 дн.

§

1

Как выбрать лучший хостинг для вашего сайта или интернет-магазина – руководство по выбору

Наша оценка: 8.8/10

Промо-код: 8Tf6aTwC

Хостинг от120 руб.

VPS/VDS от299 руб.

Начал работать в 2022 году

Страна: США

Cерверы: Россия, США, Нидерланды, Сингапур, Англия, Люксембург

Панель управления: SolusVM, DirectAdmin

Поддерживает: PHP, Python, Node.js, HTTP/2, Perl

Диски: высокоскоростные SSD

Бесплатный SSL: есть

Тестовый период: 7 дн.

§

1

Как выбрать лучший хостинг для вашего сайта или интернет-магазина – руководство по выбору

Наша оценка: 8.8/10

Промо-код: 8Tf6aTwC

Хостинг от120 руб.

VPS/VDS от299 руб.

Начал работать в 2022 году

Страна: США

Cерверы: Россия, США, Нидерланды, Сингапур, Англия, Люксембург

Панель управления: SolusVM, DirectAdmin

Поддерживает: PHP, Python, Node.js, HTTP/2, Perl

Диски: высокоскоростные SSD

Бесплатный SSL: есть

Тестовый период: 7 дн.

Как выбирать хостинг для cms

Каждая CMS (система управления контентом) рассчитана на определённые условия применения, на тип сайта, на тот или иной язык программирования, на совместимость с сервером баз данных и т.п. Некоторые типы CMS, например, «безголовые» (Headless) CMS в большинстве своём требуют Node.js-среду, а классические, как WordPress или Joomla, работают одинаково хорошо на shared-хостингах, и на выделенных серверах, в качестве среды требуют связки PHP MySQL. Но та же Joomla «всеядна» и работает из коробки сразу с несколькими типами баз данных.

Поэтому от выбора CMS обязательно зависят требования к базовой конфигурации хостинга.

Покажем на примере WordPress (самая популярная CMS с открытым исходным кодом). Для работы актуального релиза движка требуется поддержка:

  • стабильной версии PHP – желательно 7.4 или выше;
  • MySQL версии 5.6 или MariaDB (это полный аналог MySQL) версии 10.1 или выше;
  • любого web-сервера, совместимого с PHP/MySQL, но лучше всего Apache или Nginx.

Движок может работать и на устаревших legacy-версиях PHP/MySQL, но следует помнить, что их использование небезопасно из-за закончившейся техподдержки.

Под такую конфигурацию подходят, наверное, около 90% всех хостингов в мире. Но есть нюансы. Некоторые провайдеры предоставляют специальные тарифы, предполагающие (включающие) поддержку дополнительных услуг, на примере, Bluehost, которого рекомендуют разработчики движка:

  • автоматические обновления силами хостинга;
  • поддержка кэширования (в оперативной памяти или файловое);
  • установка в один клик из хостинг-панели;
  • доступ к CDN-сети (нужна для ускорения доставки статичного контента, в том числе кэшированных страниц);
  • защита от вирусов и изменения кода;
  • свой каталог премиум-тем (шаблонов);
  • безлимитное место на диске и неограниченный объём баз данных (почти во всех тарифах).

Конечно, такие выгоды имеют решающее преимущество.

В целом, WordPress потребляет много ресурсов сервера, поэтому лучше предусмотреть рост потребления заранее.

Технические требования других движков могут отличаться, а это значит, что хостинг нужно будет подбирать с учётом их особенностей.

Как выбирать хостинг по нагрузке

В идеале нужно выяснить средний объём, который занимают страницы, генерируемые движком в оперативной памяти сервера. Дальше, умножая эти данные на количество одновременных подключений, вы получите средний объём потребляемой оперативной памяти. Лимит процессорного времени влияет скорее на скорость генерации страниц, так как чем больше свободно ресурсов ЦПУ, тем быстрее он может обсчитать ту или иную web-страницу. При перегрузке время генерации может сильно возрасти (так как в один момент времени нужно обсчитать сразу много страниц).

Объём жесткого диска считается в первую очередь по среднему объёму и количеству загруженных медиафайлов (чаще всего это изображения, но могут быть видео, тексты и презентации…). Например, если каждое изображение занимает около 0,5 Мб, то 1000 таких изображений будет занимать уже около 500 Мб.

Условно:

  • если у вас планируется около 1000 страниц (по 2-3 изображения на каждой), то потребуется минимум 1000*3*0,5 Мб = 1,5 Гб;
  • если 10 тыс. страниц – то уже 15 Гб;
  • и т.д.

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

Даже если шаред-хостинги никак не ограничивают дисковое пространство и объём баз данных, они обязательно строго лимитируют процессорное время и оперативную память, так как один клиент может случайно или злонамеренно перетянуть на себя все ресурсы сервера, которыми пользуются и другие клиенты. Чем больше ресурсов включено в тариф, тем он дороже.

Шаред хостинги – самые ограниченные в плане ресурсов. Поэтому они самые доступные по цене. Именно поэтому они хороши для новых проектов (для ещё нераскрученных сайтов с низкой посещаемостью).

Если вы знаете объем суточного трафика, то выбор типа хостинга можно осуществлять примерно по таким критериям:

  • до 1,5-3 тыс. посетителей в сутки может подойти shared-хостинг;
  • от 3 до 10 тыс. посетителей в сутки лучше использовать VPS/VDS-серверы;
  • при нагрузках от нескольких десятков тысяч посетителей в сутки можно переходить на выделенные серверы или на сложные конфигурации (кластеры, облачную инфраструктуру).

Но это деление весьма условное, например, при включении кэширования нагрузка на CPU может сильно сократиться, так как страницы не придётся каждый раз генерировать заново, они будут работать как статичные HTML-документы. Могут быть и другие приёмы для снижения нагрузки.

Пошаговая настройка apache с выбором версий php nginx как reverse proxy (с mod_pagespeed) на ubuntu 16.04

В интернете кучу статей по настройке сервера, настройки Apache, Nginx и т.п. В данной статье будет пошагово настроен простой shared хостинг. Все операции производятся через консоль.

В посте будут решены и описаны следующий задачи:

1. Установка Apache PHP
2. Возможность выбора версий PHP
3. Возможность работы сайтов от разных пользователей, с ограничением на чтение директорий других сайтов.
4. Установка Nginx с модулем pagespeed от google
5. Настройка Nginx как reverse proxy

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

ЭТАП 1 (Установка Apache PHP)

Запускаем оболочку с root правами:

sudo -i

Устанавливаем apache:

apt install -y apache2

Ключ

 -y 

нужен для того чтобы в процессе установки, автоматически на все вопросы отвечал положительно. К примеру если выполнить:

 apt install apache2 

то в процессе установки нас спросят, действительно ли мы хотим установить.

Устанавливаем php (как mod_php)

 apt install -y php libapache2-mod-php 

На данном этапе у нас установиться php версии 7 как модуль apache.

ЭТАП 2 (Возможность выбора версий PHP)

На первом этапе мы установили сервер Apache PHP при чем PHP у нас работает как модуль Apache. Существует несколько режимов работы PHP подробную информацию можно прочитать по ссылке «Коротко о CGI, FastCGI, PHP-FPM и mod_php».

Если вам лень читать, то объясню проще:

1. mod_php — сам Apache выполняет php скрипт.

Плюсы: работает быстро, требует минимум настроек и знаний
Минусы: скрипты выполняются от пользователя apache (как правило www-data)

2. CGI/FastCGI — Сервер Apache запускает прикладной скрипт интерпретатора php-cgi, который в свою очередь выполняет php скрипт

Плюсы: скрипты выполняются от произвольного пользователя, можно использовать в связке с другими приложениями (Nginx PHP), конфигурацию PHP можно сделать индивидуальной
Минусы: скорость работы, дополнительная настройка

3.PHP-FPM — это модернизированный fast-cgi сервер который постоянно держит готовые для работы пул-процессов.

Плюсы: скорость работы, скрипты выполняются от произвольного пользователя, можно использовать в связке с другими приложениями (Nginx PHP-FPM — самая распространная реализация)
Минусы: дополнительная настройка, занимает порт, на каждого пользователя открывается свой порт.

Мы остановимся на CGI/FastCGI. На самом деле многие может испугать, что он самый медленный, но на большинстве shared хостингов, именно этот режим работы (ispmanager использует именно этот режим работы). Нам потребуется собрать из исходников версии php которые нам необходимы.

2.1 Сборка php из исходников

Обновляем репозиторий:

apt update

Устанавливаем необходимые для сборки пакеты:

apt install -y make 
git autoconf 
lynx 
wget 
build-essential 
libxml2-dev 
libssl-dev 
libbz2-dev 
libcurl4-openssl-dev 
libpng12-dev 
libfreetype6-dev 
libxpm-dev 
libmcrypt-dev 
libmhash-dev 
libmysqlclient-dev 
libjpeg62-dev 
freetds-dev 
libjson-c-dev 
re2c 
zlib1g-dev 
libpcre3 
libpcre3-dev 
unzip 
libxslt1-dev

Символ

используется как перенос строки, для удобства чтения.

Создаем папки для php:

mkdir -p /opt/source/php
mkdir -p /opt/php/

Переходим в директорию в которой будут храниться исходники php

cd /opt/source/php

Скачиваем необходимую версию php и распаковываем ёё:

wget -c http://php.net/get/php-5.6.18.tar.bz2/from/this/mirror -O php-5.6.18.tar.bz2
tar xvjf php-5.6.18.tar.bz2

В последней команде мы скачали по ссылке

php-5.6.18

и сохранили как php-5.6.18.tar.bz2

После чего распаковали архив.

Переходим в директория скаченного и распакованного php

cd /opt/source/php/php-5.6.18

Конфигурируем php

./configure --enable-cli 
 --prefix=/opt/php/php-5.6.18		
 --disable-rpath		
 --enable-calendar		
 --enable-discard-path 		
 --enable-fastcgi		
 --enable-force-cgi-redirect		
 --enable-fpm		
 --enable-ftp		
 --enable-gd-native-ttf		
 --enable-inline-optimization		
 --enable-mbregex		
 --enable-mbstring		
 --enable-pcntl		
 --enable-soap		
 --enable-sockets		
 --enable-sysvsem		
 --enable-sysvshm		
 --enable-zip		
 --with-bz2		
 --with-curl		
 --with-curl 		
 --with-freetype-dir		
 --with-gd		
 --with-gd 		
 --with-gettext		
 --with-jpeg-dir 		
 --with-jpeg-dir=/usr/lib/		
 --with-libdir=/lib/x86_64-linux-gnu		
 --with-libxml-dir=/usr		
 --with-mcrypt		
 --with-mhash		
 --with-mysql		
 --with-mysql 		
 --with-mysqli		
 --with-mysqli 		
 --with-openssl		
 --with-pcre-regex		
 --with-pdo-mysql		
 --with-png-dir=/usr		
 --with-zlib		
 --with-zlib-dir

Стоить обратить внимание на строку

—prefix=/opt/php/php-5.6.18

. Именно в эту директорию будет собран проект. Также вы самостоятельно можете добавлять или удалять необходимые модуль и компоненты php. Но при конфигурации обязательно должны быть —

enable-fastcgi

и

—enable-force-cgi-redirect

. После конфигурации собираем php

make
make install

Процесс сборки непривычно долгий, поэтому не стоит переживать по этому поводу. По завершению сборки можно проверить командой:

/opt/php/php-5.6.18/bin/php -v

В результате будет что то вроде:

PHP 5.6.18 (cli) (built: Jun 8 2022 15:59:20)
Copyright © 1997-2022 The PHP Group
Zend Engine v2.6.0, Copyright © 1998-2022 Zend Technologies

2.2 Настройка Apache

Далее нам потребуется чтобы Apache вызывал php скрипт через режим fastcgi. Устанавливаем и активируем mod_fcgi

apt install libapache2-mod-fcgid
a2enmod cgi fcgid actions

перезапустим сервис Apache

service apache2 restart

2.3 Создание CGI скрипта

Создадим обертку для запуска PHP-FastCGI

mkdir -p /opt/php/php-5.6.18/fcgi-bin

В данной папке создадим скрипт с именем

php

со следующим содержимом

#!/opt/php/php-5.6.18/bin/php-cgi

. Лично я использую редактор nano.

nano /opt/php/php-5.6.18/fcgi-bin/php

Вставляем код, выходим CTRL X и подтверждаем изменения.

Делаем файл испольняемым:

chmod  x /opt/php/php-5.6.18/fcgi-bin/php

В той же директории создаем файл php.ini () можно скопировать

/opt/source/php/php-5.6.18/php.ini-production

.

2.4 Настройка хоста для Apache

В примере будет показана настройка виртуального хоста по умолчанию:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        <IfModule mod_fcgid.c>
            IPCCommTimeout 7200
            FcgidConnectTimeout 320
            MaxRequestLen 25728640
            FcgidMaxRequestsPerProcess 0
            FcgidBusyTimeout 3600
            FcgidOutputBufferSize 0
        </IfModule>

        <FilesMatch ".ph(p[3-5]?|tml)$">
                SetHandler fcgid-script
                FCGIWrapper /opt/php/php-5.6.18/fcgi-bin/php
        </FilesMatch>
        ErrorLog /var/www/html/error.log
        CustomLog /var/www/html/access.log combined
</VirtualHost>
<Directory /var/www/html>
        Options  Includes  ExecCGI
</Directory>

Перезапускаем настройки Apache:

service apache2 reload

ЭТАП 3 ( Возможность работы сайтов от разных пользователей, с ограничением на чтение директорий других сайтов.)

Для разграничения прав по пользователям у Apache есть 2 разных модуля suEXEC и ITK.

Рассмотрим как работает каждый из них:

ITK — При поступлении запроса, apache создает процесс-обработчик, который наследует права корневого процесса, но после проверки контекста меняет свои права на указанного пользователя.

suEXEC -При поступлении запроса apache запускает CGI и аналогичные собственные или сторонних разработчиков скрипты/программы внутри веб-папки домена от имени указанного пользователя.

suEXEC в нашем варианте предпочтительней из-за особенности архитектуры работы. Устанавливаем suEXEC

apt install apache2-suexec-custom
a2enmod suexec

Важно, для правильной работы suexec необходимы правильно выставить права на директории.
Как располагать директории вы должны определиться сами, в примере приведется пример, и он не является оптимальным.

Иерархия папок следующая:

|--/var/www/ - Корневая папка, права 751 владелец root
|----/php-bin - Папка храннения дефолтных настроек для php
|------/php-5.6.18 - Папка храннения дефолтных настроек для php-5.6.18
|--------php - Исполняемый файл для php-5.6.18
|--------php.ini - Дефольный файл настроке
|--------php.ini - Дефольный файл настроке
|----/apache-cert - папка хранения сертификатов для apache

Создаем папки для пользователя:

mkdir -p /var/www/users/admin
mkdir -p /var/www/users/admin/domain.ru
mkdir -p /var/www/users/admin/apache-log
mkdir -p /var/www/users/admin/php-bin
mkdir -p /var/www/users/admin/temp
mkdir -p /var/www/users/admin/temp/php-session

Копируем файлы настроек для php:

cp /opt/php/php-5.6.18/fcgi-bin/php /var/www/users/admin/php-bin/php
cp /opt/php/php-5.6.18/fcgi-bin/php.ini /var/www/users/admin/php-bin/php.ini

Создаем юзера (важно помнить что все пользователи в группе admin имеют доступ на запуск программ из sudo, поэтому при выборе имени admin он автоматически будет иметь права на выполнения sudo. В данном примере это не критично, но вам следует помнить об этом при создании пользователя).

useradd -m -s /bin/bash admin
passwd admin

Выставляем владельца папки:

chown admin:admin -R /var/www/users/admin

Выставляем корневую директорию для пользователя:

usermod -d /var/www/users/admin admin

Настраиваем виртуальные хосты в apache:

<VirtualHost *:8080>
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/users/admin/domain.ru

	SuexecUserGroup admin admin	

	<IfModule mod_remoteip.c>
	      RemoteIPHeader X-Forwarded-For
	      RemoteIPHeader X-Real-IP
	      RemoteIPInternalProxy 127.0.0.1
	</IfModule>

	<ifmodule mod_rewrite.c>
		RewriteEngine On
		RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
	</ifmodule>


	<IfModule mod_fcgid.c>
	    IPCCommTimeout 7200
	    FcgidConnectTimeout 320
	    MaxRequestLen 25728640
	    FcgidMaxRequestsPerProcess 0
	    FcgidBusyTimeout 3600
	    FcgidOutputBufferSize 0
	</IfModule>

	<FilesMatch ".ph(p[3-5]?|tml)$">
		SetHandler fcgid-script
		FCGIWrapper /var/www/users/admin/php-bin/php
	</FilesMatch>

	ErrorLog /var/www/users/admin/apache-log/error.log
	CustomLog /var/www/users/admin/apache-log/access.log combined
</VirtualHost>
<Directory /var/www/users/admin/www>
	AllowOverride All
	Options  Includes  ExecCGI
</Directory>

В настройках php.ini пользователя меняем session.save_path

session.save_path = /var/www/users/admin/temp/php-session

Перезапускаем apache:

service apache2 restart

ЭТАП 4 (Установка Nginx с модулем pagespeed от google)

Забегая вперед, для поддержки pagespeed в Nginx требуется пересобрать сам Nginx с этим модулем, но чтобы потом не лазить дополнительно в настройках, проще сначало установить его.
Изменяем порты для Apache:

/etc/apache2/ports.conf
  Ваши созданные виртуальные хосты

Перезапускаем Apache:

service apache2 restart

Устанавливаем ngnix:

apt-get install nginx

Собираем Nginx с pagespeed

Вначале необходимо установить все необходимы для сборки пакеты:

apt install -y build-essential zlib1g-dev libpcre3 libpcre3-dev unzip libxslt1-dev libgd-dev libgeoip-dev

Создаем папки для исходников nginx:

mkdir -p /opt/source/nginx
cd /opt/source/nginx

Скачиваем и распаковываем pagespeed и psol. Yt cnjbn g

wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.11.33.4-beta.zip
unzip v1.11.33.4-beta.zip
cd ngx_pagespeed-1.11.33.4-beta
wget https://dl.google.com/dl/page-speed/psol/1.11.33.4.tar.gz
tar -xzvf 1.11.33.4.tar.gz

Сам psol скачивается и распаковывается в директории с ngx_pagespeed. Переходим в папку с Ngnix

cd /opt/source/nginx

Проверяем версию ngnix (по умолчанию в ubuntu 16.0.4 устанавливается 1.10.0):

nginx -V

Загружаем т версию NGINX:

wget https://nginx.ru/download/nginx-1.10.0.tar.gz
tar -xvzf nginx-1.10.0.tar.gz

Собираем nginx с теми же параметрами что и установленный, но в конце добавляем дополнительные модули:

cd /opt/source/nginx/nginx-1.10.0
./configure 
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads 
--add-module=/opt/source/nginx/ngx_pagespeed-1.11.33.4-beta 
--with-http_mp4_module

Собираем Nginx:

make
make install

Собранный бинарный файл Nginx располагается в директории /opt/source/nginx/nginx-1.10.0/objs/nginx. Для того чтобы установить, требуется просто заменить текущий испоняемый файл Nginx на собранный.

Остановим Nginx, заменим файл, и перезапустим его.

service nginx stop

#Переименовываем (на всякий случай) текущий nginx в nginx_backup:

mv /usr/sbin/nginx /usr/sbin/nginx_backup

# Перемещаем на его место новый собранный бинарник:

mv /opt/source/nginx/nginx-1.10.0/objs/nginx /usr/sbin/nginx

перезапускаем Nginx:

service nginx start

Создаем папку хранения кэша для pagespeed:

/var/www/temp/
/var/www/temp/page-speed/

Добавим /etc/nginx/nginx.conf в секцию http:

pagespeed on;
pagespeed FileCachePath "/var/www/temp/page-speed/";
pagespeed EnableFilters combine_css,combine_javascript,rewrite_images,rewrite_css,rewrite_javascript,inline_images,recompress_jpeg,recompress_png,resize_images;
pagespeed JpegRecompressionQuality 85;
pagespeed ImageRecompressionQuality 85;
pagespeed ImageInlineMaxBytes 2048;
pagespeed LowercaseHtmlNames on;

ЭТАП 5 (Настройка Nginx как reverse proxy )

Скажу скажу что в интернете кучу статей для настройки Nginx как reverse proxy. Я лиш приведу ознакомительный вариант настройки.

server { 

	listen 80; 
	server_name domain.ru; 
	access_log /var/log/nginx.access_log;


	location ~* .(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ { 
		root /var/www/users/admin/domain.ru; 
		index index.html index.php; 
		access_log off; 
		expires 30d; 
		error_page 404 = @prox;
	} 

	location @prox{
		proxy_pass 127.0.0.1:8880; 
		proxy_set_header X-Real-IP $remote_addr; 
		proxy_set_header X-Forwarded-for $remote_addr; 
		proxy_set_header Host $host; 
		proxy_connect_timeout 60; 
		proxy_send_timeout 90; 
		proxy_read_timeout 90; 
		proxy_redirect off; 
		proxy_set_header Connection close; 
		proxy_pass_header Content-Type; 
		proxy_pass_header Content-Disposition; 
		proxy_pass_header Content-Length;
	}


	location ~ /.ht { 
		deny all; 
	} 


	location / { 
		proxy_pass 127.0.0.1:8880; 
		proxy_set_header X-Real-IP $remote_addr; 
		proxy_set_header X-Forwarded-for $remote_addr; 
		proxy_set_header Host $host; 
		proxy_connect_timeout 60; 
		proxy_send_timeout 90; 
		proxy_read_timeout 90; 
		proxy_redirect off; 
		proxy_set_header Connection close; 
		proxy_pass_header Content-Type; 
		proxy_pass_header Content-Disposition; 
		proxy_pass_header Content-Length; 
	} 
} 

Тарифы ssd хостинга

Для более требовательных CMS и проектов, использующих сложную структуру или нагруженные скрипты, мы предлагаем быстрый хостинг на SSD.
Это безлимитный хостинг, на нем нет ограничений на количество баз данных, на количество сайтов и других множественных сущностей.
Достаточно определиться с нужным объемом диска.

К тому же вы всегда можете расширить дисковую квоту в панели управления ил перейти на другой тариф.
В качестве бесплатных опций, включенных в тарифы SSD: сертификат Let’s Encrypt с автоматическим продлением, Защита от DDoS, Домен в подарок.

Производительность SSD тарифов отлично подходит для работы с Joomla, Drupal, Bitrix и UMI.

ОписаниеАльфа-SSDБета-SSDГамма-SSDДельта-SSD
Общее описание тарифов
SSD, ГБ 2 7 30 45
PHP для каждого хоста: 5.6 / 7.0 / 7.1 / 7.2 / 7.3 / 7.4
Количество сайтов на хостинге (в том числе поддоменов)
Количество БД
Количество е-mail аккаунтов (POP3 / IMAP / SMTP)
Поддержка любых CMS
Защита от DDoS
Изоляция сайтов
Сервер с повышенной производительностью
Let’s Encrypt
Автоустановка любой CMS в 3 клика
Ежедневное бэкапирование
Возможность настроить защиту от спама и вирусов
Быстрая настройка почты Mail.ru — для бизнеса
Технические характеристики
Поддержка любых зон на DNS-серверах
Поддержка IonCube Loader
Поддержка php модулей GD, curl
Работа с phpMyAdmin
Поддержка InnoDB
FTP-доступ (ftp-клиент, веб-интерфейс)
Количество FTP-логинов
SSH-доступ
Cron — выполнение заданий по расписанию
POP3/IMAP/SMTP Сервисы с шифрованием для работы с почтой
Оперативная память, выделяемая на работу Cron/Shell-скриптов, МБ 256 512 512 512
Модули apache (mod_rewrite и др.)
Управление .htaccess, собственные страницы ошибок, паролирование директорий
Zend OPcache (только для версии PHP 5.6 и 7.0)
Лог файлы access_log, error_log
Опции и расширения
Техническая поддержка 24/7
Тестовый период 10 дней
Домен в подарок при одновременном заказе хостинга на 1 год
Цена в месяц, руб.117
82
234
163
436
305
699
489
Цена в месяц при заказе на год, руб.82163305489
 

Хостинг для сайта с доменом, купить недорого у хостинг-провайдера

Хостинг на Linux или Windows?

Если ваш сайт еще не создан, то рекомендуем создавать его под Linux-платформы. Популярность данной
платформы заслужена и уходит к истокам сайтостроения.

Linux как в создании, так и в поддержке ресурса удобней, понятней и функциональней Windows-среды.
Оптимизированное под Linux программное обеспечение или приложение гораздо проще найти, чем под сайт,
созданный на ASP.NET. Виртуальный хостинг на Linux позволяет использовать несколько версий PHP на
одном аккаунте, включен бесплатный SSL и защита от DdoS.

Платформа Windows является более специфичной чем Umix-подобные, но это не означает, что она
невостребована. В 2022 году динамика создания сайтов на ASP.NET нисколько не
уменьшилась по сравнению с предыдущими периодами. Поэтому уточните у разработчика, на какой
платформе создан ваш сайт, использует он MySQL или MsSQL, и смело выбирайте тариф.

Тарифы Windows-хостинга безлимитны, как и тарифы Linux. Однако обратите внимание, что
мы не оказываем техническую поддержку по тарифным планам Windows.

В каких случаях нужен VPS:

1. Посещаемость сайта.
Если одномоментное количество уникальных посетителей превышает 1000, при этом сайт достаточно сложен
и
при обращении пользователя к странице она создает множество запросов к базе данных, то лучше всего
выбрать
VPS. Как показывает практика, сайт будет работать и на виртуальном хостинге, но это будет пределом
возможностей.

2. Наличие нестандартных скриптов и технологических решений.
Если вы планируете использовать нестандартные решения, например, скрипты для сбора статистики,
системы
резервного копирования контента, системы мониторинга, или ваш сайт работает на ПО, отличном от
конфигурации
виртуального хостинга, то наилучшим вариантом будет VPS-сервер.

3. Потребность в повышенных ресурсных емкостях.
Если ресурс основан на постоянных обращениях к большим базам данных, к которым постоянно
направляются запросы
пользователей, или вы хотите разместить игровой контент, который требует процессорных мощностей, то
в этом
случае рекомендуем рассмотреть аренду или покупку собственного сервера (Dedicated или Colocation).
Даже
мощный VPS для таких задач будет не совсем правильным решением.

4. Возможность администрирования.
Вы хотите самостоятельно экспериментировать с настройками, тюнинговать и оптимизировать ПО, вам
интересно
изучать Linux-среду и методики управления ею – однозначно VPS-сервер. Предоставление root-доступа,
широкий
спектр предустановленных шаблонов операционных систем и, конечно, возможность самостоятельного
администрирования.

Мы сознательно не описываем тарифы VPS. Лучше всего обратиться с описанием размещаемого ресурса в
техническую
поддержку, где специалисты подберут оптимальную конфигурацию. Здесь необходимо учитывать не только
дисковую квоту,
но и другие параметры, вплоть до шаблона операционной системы.

В каких случаях достаточно виртуального хостинга?

Виртуальный хостинг — это площадка для размещения начинающего интернет-магазина, персональной
страницы, лендинга или лонгрида. Если в данный момент у вас небольшое количество посещений (менее
1000 уников), то достаточно исходить из общего объема файлов — в большинстве случаев для старта
можно выбрать минимальный тариф.

Тариф Альфа-SSD – 2Gb:
Недорогой хостинг для сайта с защитой от DDoS бесплатным SSL и 2Gb дискового пространства. Как
показывает практика, для старта этого более чем достаточно. В любом случае вы всегда сможете
увеличить дисковую квоту или изменить тариф, поэтому для начинающих рекомендуем тариф Альфа-SSD.

Тариф Бета-SSD – 7Gb:
Несомненными преимуществами тарифа Бета-SSD является увеличенное дисковое пространство и наличие скидки
50% на 1
домен, которую можно получить при покупке тарифа на 12 месяцев. Это предложение также актуально для
тех,
кто начинает свой путь в сети Интернет. Помимо финансовой экономии, покупая средний тариф, вы
закладываете
кирпичик в будущее вашего ресурса. Наличие дополнительной дисковой квоты позволит экспериментировать
с
контентом, изменять его составляющие, увеличивать объемы, добавлять видео-файлы, активно
взаимодействовать с BackUp.

Тарифы Гамма-SSD – 15Gb и Дельта-SSD — 20Gb:
Данные тарифы для продвинутых пользователей или ресурсов с устаревшей версией PHP.
Они позволяют бесплатно получить 1 домен, который будет отличным дополнением к существующим сайтам
в качестве синонима или для редиректа. Помимо этого, поддержка версий PHP 5.2 и 5.3 позволят тем,
кто не
готов изменять устоявшийся успех своего сайта, развиваться и не заботиться о несовместимости версий.

Представленные тарифы хостинга безлимитны и не имеют ограничений по количеству:

Каждый из тарифов Linux-хостинга оптимизирован под все популярные CMS, но если вы нацелены создать
коммерчески успешный ресурс, в частности интернет-магазин, то мы рекомендуем использовать CMS
«1С-Битрикс».
Все безлимитные тарифы Linux, начиная с «Альфа-SSD», поддерживают CMS «1С-Битрикс». Создание сайта на
базе
этой CMS предусматривает удобную панель управления сайтом, большое количество встраиваемых
расширений
с гарантированной поддержкой от разработчика, готовый платежный шлюз, повышенную устойчивость ко
взлому
сайта злоумышленниками.
При покупке редакций CMS Битрикс для бизнеса вы получаете хостинг для 1С-Битрикс в подарок.

Выводы

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

Широкий диапазон просмотра сервисов позволил нам осмотреть разные виды хостингов: от профессиональных до, скажем, недоработанных. На примере последних видно, что «проколы» появляются в самых неожиданных местах, и только постоянная работа над ошибками, своими и чужими, позволит вывести хостинг в ряд профессиональных, а значит, обеспечит организатору в будущем какой-то приток посетителей и доход.

Список в последней трети вполне можно использовать как хрестоматию правил серии «Как не надо вести бизнес». Даже если какой-то сервис из приведённых — любительский, он не предупреждает об этом посетителей, а значит, они имеют шансы пострадать от его ошибок.

Таблица с хостингами, в общем, включила в себя ответы на основные вопросы, но они даны текстом, без классификации, что не сразу даёт понять, подходит ли некоторый хостинг под конкретные задачи. Есть идея собрать ответы в большую и широкую таблицу (30 х 30), где отмечена каждая из характеристик хостинга, в том числе и те, на которые не было обращено внимания (язык интерфейса, конкретные данные по ограничениям на максимальный вес картинок, данные по самоудалению картинок, если такое заявлено, и т.д.).

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

UPD: у кого есть идеи, как промониторить эту массу хостингов (30 штук), чтобы получить логи в течение месяцев 2-3 и сделать вывод о надёжности?

Другой вопрос: как посчитать число ссылок на ресурс в адресах рисунков? Не тИц, не что-либо другое, а число ссылок с форумов и блогов, хотя бы найденных через поисковик? Так можно было бы оценить используемость сервисов.

Оцените статью
Хостинги