Сам себе админ. Учимся настраивать VDS и переносить сайты — Хакер

Сам себе админ. Учимся настраивать VDS и переносить сайты — Хакер Хостинг
Содержание
  1. Что такое vps/vds сервер
  2. Добавление базы данных и почтового домена
  3. Первоначальные настройки сервера
  4. Почтовый сервер
  5. .babelrc
  6. .gitignore
  7. Client.js
  8. Compute cloud
  9. Github
  10. Public
  11. Visual studio code
  12. Webpack.config.js
  13. Автоматически обновляемый ssl
  14. Безопасность
  15. Вход в панель
  16. Вход с vmmanager
  17. Выбор хостинга
  18. Делаем всё удобно или цикл разработки с помощью git
  19. Для чего еще можно использовать виртуальный сервер
  20. Для чего он нужен
  21. Добавление домена
  22. Дополнительные услуги
  23. Загрузка файлов сайта
  24. Как бесплатно зарегистрировать домен и хостинг для сайта
  25. Как создать свой хостинг
  26. Как создать свой хостинг на домашнем компьютере
  27. Мониторинг и бэкап
  28. Настройка bitvise ssh
  29. Папка server
  30. Перенос сайтов
  31. Подключаемся к bitbucket
  32. Подключаемся к облаку с пк и выбираем бесплатный ssh клиент
  33. Подключение к серверу
  34. Постановка задачи
  35. Предисловие
  36. Программа реселлинг – перепродажа хостинг услуг
  37. Размещение вручную
  38. Размещение сайтов на vds/vps
  39. Регистрация и вход в биллинг-панель
  40. Создать свой хостинг с минимальными потерями
  41. Ставим mysql
  42. Ставим веб-сервер
  43. Тарифы
  44. Тестовый период
  45. Управление виртуальными серверами в vmmanager
  46. Функция «ip-адреса»
  47. Функция «vnc»
  48. Функция «диски»
  49. Функция «интерфейсы»
  50. Функция «информация»
  51. Функция «использование канала»
  52. Функция «нагрузка»
  53. Функция «пароль»
  54. Функция «перезапуск»
  55. Функция «переустановить»
  56. Функция «снимки»
  57. Функция «старт»
  58. Функция «стоп»
  59. Хостинг на облаках
  60. Через панель управления
  61. Шаг 1. покупка домена
  62. Шаг 2. создание сайта
  63. Шаг 6. настраиваем мониторинг сайта
  64. Вывод

Что такое vps/vds сервер

Virtual Dedicated Server (VDS, «виртуальный выделенный сервер») или Virtual Private Server (VPS, «виртуальный частный сервер») – это услуга, в рамках которой клиенту предоставляется в аренду виртуальный сервер с правами доступа суперпользователя (root права). Более подробно о VPS/VDS и принципе его работы можно прочитать в нашем блоге.

Добавление базы данных и почтового домена

При необходимости пользователь может создать базу данных. Для этого нужно пройти из раздела «Главное» в подраздел «Базы данных» и нажать «Создать».

Далее следует заполнить поля формы «Новая база данных» и нажать «Ok».

В случае если у пользователя есть уже готовая база данных, ее можно загрузить, выделив кликом на созданную базу данных и нажать «Закачать».

Аналогичным образом добавляются и почтовые домены сайта. Для этого нужно перейти по пути «Главное» → «Почтовые домены» и нажать «Создать».

Первоначальные настройки сервера

OC в VDS устанавливается автоматически. Достаточно выбрать версию и вариант с веб-панелью или без и чуть подождать, пока не придет письмо с данными для входа. На хостингах предлагаются и разные веб-панели. Когда этот материал создавался, Vesta не поддерживала Ubuntu 16.

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

# locale

Если в ответ получаем отличное от ru_RU.UTF — перенастраиваем.

# locale-gen ru_RU ru_RU.UTF-8 ru_RU ru_RU.UTF-8
# localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8
# dpkg-reconfigure locales
# update-locale LANG=ru_RU.UTF-8

Проверяем время:

# date

Если часовой пояс не соответствует — переконфигурируем.

# dpkg-reconfigure tzdata

Обновляем сервер:

# apt update && apt upgrade

Теперь можем ставить сервисы.

Настраиваем часовой пояс
Настраиваем часовой пояс

Почтовый сервер

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

Здесь опять два варианта: настроить полноценный сервер или установить прокси, который будет подменять SMTP, переправляя запросы на внешний сервер (потребуется почтовый ящик). В качестве последнего отлично подходит ssmtp, который есть в репозитории. Хотя установить «большой» сервер в минимальной конфигурации — дело пяти минут.

# apt install postfix

В процессе выбираем «Интернет-сайт» и указываем домен.

# nano /etc/postfix/main.cf
myhostname = example.org
mydestination = $myhostname, localhost.localdomain, localhost
# Чтобы подключались только с локальных адресов
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

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

# service postfix restart

И почта должна уже работать. Единственный момент — если почтовый ящик домена привязан к Gmail, то, когда в него идет письмо с этого же домена, технология DMARC Gmail может его отбросить как спам. Хотя если отправитель будет другой, то все будет работать.

mydestination = $mydomain, localhost.$mydomain, localhost
Настройки Postfix во время установки
Настройки Postfix во время установки

.babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "browsers": [">0.25%", "not ie 11", "not op_mini all"]
        }
      }
    ],
    "@babel/preset-react"
  ],
  "plugins": [
    "babel-plugin-styled-components",
    "@babel/plugin-transform-runtime"
  ]
}

Настройки для создания нашего react_bundle с поддержкой браузеров используемых более >0.25% пользователей.

.gitignore


Тут мы указываем те файлы/папки, которые мы не хотим выгружать на github. Они будут только на данном устройстве и git не будет отслеживать/показывать их изменения. Открываем и вставляем:

/node_modules/

/logs/*
# exception to the rule
!logs/.gitkeep 

/public/react_bundle.js
/public/isProd.js

Так как github не выгружает пустые папки, то можно внутрь что-нибудь положить, к примеру пустой файл .gitkeep. Сохраняем файл и закрываем.

Client.js

import React from 'react'
import { render } from 'react-dom'
render(<div>Реакт!!</div>, document.getElementById('cookies'))

Рендерит наш фронтэнд в div с тегом cookies.

pm2-watch.json — позволяет на хостинге командой «npm run server» запустить сервер с отслеживанием изменений в коде и автоматической перезагрузкой.

Compute cloud


Тут у нас будут происходить вычисления 🙂 То есть мы создадим виртуальную машину с Linux (я выбрал ubuntu 18.04), установим node.js приложения и postgreSQL.

Жмём создать ВМ, выкручиваем все настройки на минимум, так как при разработке нагрузки не будет (когда наше приложение выйдет в свет, тогда и подкрутим побольше, ну и будем мониторить по графикам).

Github

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


Всё быстро, просто и удобно.

Собственно регистрируемся на Github и создаём private репозиторий для нашего приложения (он будет доступен только нам):

Public

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


Отдельно остановимся на двух файлах:

index.html:

Visual studio code

Для начала выберем редактор исходного кода, где будем работать. Я выбрал Visual studio code, так он прост, удобен, в нём много плагинов и можно настроить синхронизацию настроек если вы работаете с нескольких устройств. Собственно скачиваем, устанавливаем, запускаем, выбираем общую папку приложений, так как git clone создаст нам свою.

Плагины я использую следующие:

Устанавливаем git для ПК.Открываем консоль в VScode с помощью ctrl shift ` или terminal>new terminal

Отступление:

В консоли windows плохо с русскими символами и чтобы не было крякозяблов нужно открыть file>preferences>settings, ввести в поле terminal.integrated.shellArgs.windows, нажать

И добавить строку «terminal.integrated.shellArgs.windows»: [«-NoExit», «/c», «chcp 65001»],

Повторяем команду для загрузки файлов с github:

Webpack.config.js

Сборщик реакт приложения:

const webpack = require('webpack'),
  path = require('path'),
  BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin

module.exports = (env, argv) => {
  let prod = argv.mode == 'production'

  let config = {
    entry: './client.js',
    output: {
      path: path.resolve('./public'),
      filename: 'react_bundle.js'
    },
    module: {
      rules: [
        {
          test: /.(js|jsx)$/,
          exclude: /node_modules/,
          loader: 'babel-loader'
        },
        {
          test: /.css$/,
          use: ['style-loader', 'css-loader']
        }
      ]
    },
    resolve: {
      alias: {
        client: path.resolve('./client/shared'),
        public: path.resolve('./public')
      }
    },
    plugins: [
      argv.analyze ? new BundleAnalyzerPlugin() : false,
      prod ? new webpack.optimize.AggressiveMergingPlugin() : false,
      new webpack.ContextReplacementPlugin(/moment[/\]locale$/, /ru/)
    ].filter(Boolean),
    optimization: {
      minimize: prod ? true : false
    },
    performance: {
      hints: false
    }
  }

  return config
}


Если коротко, то он открывает файл client.js и все что у него внутри, собирая react_bundle и помещая его в папку public, откуда потом через открытый index.html он будет загружен.

Автоматически обновляемый ssl

Когда вы купите себе домен и привяжете его к IP облака, пример

Безопасность

Обеспечение безопасности виртуального сервера — важнейший аспект для каждого владельца VPS. Настройки безопасности всегда индивидуальны и должны подстраиваться под конкретную задачу.

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

На хостинге Еternalhost  реализована возможность подключения системы надежной защиты сайтов от DDoS-атак. Услуга предоставляется клиентам бесплатно. Нужно только обратиться в техническую поддержку — специалисты сами настроят фильтры под индивидуальные нужды ресурса.

Вход в панель

После установки ISPmanager 5 Lite нужно открыть панель. Она обладает простым и интуитивно понятным интерфейсом. Дополнительную информацию по использованию можно легко найти в официальной документации.

Вход с vmmanager

Войти в VMmanager можно двумя способами.

Выбор хостинга


На своё хобби я готов был тратить 10$ в месяц, поэтому выбирал тот хостинг, с которым планировал и остаться в будущем. Как я и говорил, до этого у меня был 0 опыт, в том числе и с хостингом сайтов. Я попробовал и отказался от следующих:

Jelastic: красивый и удобный интерфейс, вроде всё интуитивно, масштабируемо и понятно. Тем не менее столкнулся с трудностями при настройке (nginx почему-то из vps не хотел работать, только их отдельным модулем) и подключении SSL(и автоматическом обновлении) к русскоязычном домену стандартными средствами (обещали баг пофиксить, но я не хочу ждать)

Делаем всё удобно или цикл разработки с помощью git

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

Для чего еще можно использовать виртуальный сервер

Ниже можно найти ссылки на полезные статьи, раскрывающие важные аспекты работы с VPS/VDS.

Для чего он нужен

Виртуальные выделенные серверы могут применяться для различных задач. К примеру, для размещения сайтов, VPN, игровых или почтовых серверов, создания удаленных рабочих столов, хранения данных и многого другого. Наиболее популярные варианты применения VPS/VDS рассмотрены в этой статье.

Далее опишем поэтапный процесс работы с виртуальным сервером на примере хостинга Eternalhost — от выбора подходящего тарифа и покупки до настройки компонентов через панель управления веб-сервером.

Добавление домена

Для добавления домена, в ресурсной DNS-записи типа A должен  быть указан IP-адрес текущего виртуального сервера. Сделать привязку можно с помощью услуги DNS-хостинга, которую Eternalhost предоставляет своим клиентам бесплатно.

Для добавления сайта нужно перейти в раздел «Домены» → «WWW-домены» и нажать «Создать».

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

Добавленный домен появится во вкладке «WWW-домены».

Дополнительные услуги

В случае необходимости, клиент может дополнительно приобрести SSL-сертификат (от 650 ₽/год), ISPmanager Lite (240 ₽/мес) или доменное имя.  Для использования доменного имени пользователю понадобится настройка DNS-хостинга.

Загрузка файлов сайта

Теперь можно перейти к загрузке файлов сайта. Для этого — выделить доменное имя одним кликом и нажать «Войти» в верхней панели.

В открывшейся панели нужно перейти по пути «Главная» → «Менеджер файлов» → папка «www» → доменное имя.

В папку с нужным доменным именем следует добавить файлы сайта при помощи функции «Закачать» из верхнего меню.

Как бесплатно зарегистрировать домен и хостинг для сайта

В письме также указаны данные для доступа по FTP и настройки базы данных MySQL — они пригодятся, когда буду заливать проект.

Домен — имя сайта, которое вводим в браузере, например «shhost.ru». Домен в зоне *.ru стоит 200 ₽ в год.

Доменное имя зарегистрировал на сайте бесплатного поставщика доменных имён. На главной странице ввёл имя домена, который мне интересен. Нажал кнопку «Проверить доступность» / Check Availability.

Сервис предлагает доменные зоны *.tk, *.ml, *.ga, *.cf и *.gq. Домен регистрируют от одного месяца до года, после окончания продление бесплатно. Если адрес занят — система сообщит. Осталось выбрать свободный из списка и нажать кнопку «Получить домен сейчас!» / Get it now.

Я выбрал зону *.ga — это зона Габонской республики. Своим клиентам говорю, что GA значит «Город Алматы».

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

В панели хостинга во вкладке «Add domains» нужно вставить доменное имя. Скопировал адреса Nameservers для настройки домена из хостинга. У вас могут быть свои адреса:

1. ns1.ultimatefreehost.in

2. ns2.ultimatefreehost.in

Подключить хостинг к домену просто. Всё настраивается одинаково как в платных, так и в бесплатных вариантах. Процесс может отличаться у разных регистраторов доменов, но различия незначительные.

У меня было так: на сайте регистратора перешёл в настройки домена «Услуги → Мои домены» / Services → My domains. В списке доменов выбрал нужный, нажал кнопку Manage Domain. Далее в Management tools → Nameservers выбрал пункт Use custom nameservers (enter below), вставил скопированные ранее адреса и сохранил изменения.

Вернулся в панель хостинга, ввёл адрес домена и нажал кнопку «Создать домен». Первый раз выскочила ошибка, повторил операцию через 3–5 минут. Появилось сообщение, что сайт будет доступен в течение 76 часов. У меня заработал через 30 минут.

Как создать свой хостинг

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

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

Не будем заблуждаться. Сайты создают не только для информации о себе и/или своей фирме в сети Интернет. Сегодня уже чаще сайты создают для заработка. Честный заработок на сайте — это законный вариант пополнить или сформировать свой бюджет за счет рекламы, партнерских программ, ссылок.

Эффективность заработка зависит от выбранного варианта и стратегии. Например, вы выбираете заработок на партнёрках. Заработок не простой, но доходный и на первом этапе потребует найти выгодные и надежные партнерские программы. Сегодня хорошую выгоду показывают образовательные партнерки – офферы разнообразных обучающих сайтов.

Как создать свой хостинг на домашнем компьютере

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

Существует два способа создания собственного сервера: с помощью использования персонального компьютера или арендовать VPS у хостинг-провайдера.

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

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

Следующий этап — установить программное обеспечение (ПО). Наиболее популярными являются Open Server, Denwer, XAMPP. Это такие серверные платформы, с которыми работают веб-разработчики.

Например, Open Server уже включает в себя PHP, Apache, MySQL и прочие утилиты. С помощью нее запускается сервер дома и загружается сайт. На примере Open server можем проследить как осуществляется установка:

1. Заходим на официальный сайт и скачиваем одну из версий программы.

2. Появится два варианта: поддержать проект и скачать файл на максимальной скорости или отказаться и просто скачать. Первый предполагает некоторую оплату, за которую возрастает скорость загрузки.

Сам себе админ. Учимся настраивать VDS и переносить сайты — Хакер

3. После скачивания необходимо установить программу и перейти в ее директорию, в которой отобразятся файлы для запуска. Необходимо выбрать тот, который подходит под разрядность ОС и открыть его, предварительно отключив антивирус.

4. После открытия программы появится флажок красного цвета, кликнув по которому переходим в настройки.

5. Нажимаем на пункт «Сервер» и меняем локальный IP-адрес на статический, далее сохраняем.

6. Приступаем к запуску сервера нажатием на красный флажок и выбираем пункт «Запустить». Иногда может появляться ошибка о несовместимости конфигурации. Для устранении ошибки переименовываем папку localhost в openserver, которая находится в директории ПО в папке domains.

Это все этапы, которые необходимы для настройки локального сервера. Если выбор пал арендовать VPS у хостинг-провайдера, необходимо выбрать соответствующий тариф. После его активации на готовый сервер выгружается свой веб-ресурс и открывается всему интернету.

Мониторинг и бэкап

Две важные вещи — мониторинг и бэкап. После установки сайт может падать из-за неоптимальных настроек. Поэтому лучше сразу установить хотя бы простое решение, позволяющее перезапускать сервисы. В репозиториях есть отличные утилиты healt-check или monit, проверяющие не только сервисы, но и общее состояние системы.

Настройка bitvise ssh

image

Папка server

Тут лежит на бэкэнд и все пути.

logger.js — в зависимости от среды isProd логирует или в консоль или в errors.log

'use strict'

const pino = require('pino'),
  isProd = require('../public/isProd')

let logOptions = isProd
  ? {
      level: 'warn', // уровень логирования
      timestamp: () => {
        return ',"time":"'   new Date()   '"'
      }
    }
  : {
      level: 'warn',
      prettifier: require('pino-pretty'),
      prettyPrint: {
        levelFirst: true,
        translateTime: true
      }
    }
let dest = isProd ? pino.destination('./logs/errors.log') : pino.destination(1)
let log = pino(logOptions, dest)

module.exports = log

server/api/

open.js — сюда добавляем наши пути.

'use strict'
module.exports = function(fastify, options, next) {

  fastify.route({
    method: 'GET',
    url: '/',
    handler: async (req, res) => {
      res.send('api / route')
    }
  })

  fastify.route({
    method: 'GET',
    url: '/hi',
    handler: async (req, res) => {
      res.send('api / route hi')
    }
  })
  next()
}


После настройки и проверки всего на Localhost, просто выгружаем всё на github, а оттуда git pull на хостинг. Всё что на хостинге нужно будет сделать, это установить модули node.js командой «npm i» и создать файл isProd.js

Перенос сайтов

Для новых клиентов Eternalhost, которые использовали ISPmanager 5 Lite на старом хостинге и хотят сохранить эту панель на новом, возможен бесплатный перенос до 5 сайтов. Для этого, после приобретения услуги нужно составить соответствующее обращение (тикет) в техническую поддержку.

Подключаемся к bitbucket

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

Минус здесь — мы фактически даем ему доступ на сервер. Поэтому лучше перестраховаться, и самым правильным вариантом будет использовать посредника с возможностью автоматического pull файлов после коммита. Так мы получаем еще один источник бэкапа. В качестве промежуточного сервиса был выбран сервис «ведро битов» Bitbucket, предлагающий всякие вкусности вроде бесплатных «private»-репозиториев и удобного интерфейса. Хотя, в принципе, это может быть любой другой подобный сервис — GitHub или Google Cloud Source Repositories.

Механизм взаимодействия будет простым. Создаем репозиторий (можно в отдельной теме), инициализируем Git прямо в корне сайта (как вариант, можно переносить с другого каталога, но это не так интересно), добавляем удаленный репозиторий Bitbucket и подключаем сервер к аккаунту Bitbucket.

Подключаемся к облаку с пк и выбираем бесплатный ssh клиент

Стандартный Putty позволяет работать только командной строкой, а так как мне пользователю windows это непривычно, то я начал искать клиент с псевдо-проводником. Сначала я попробовал Mobaxterm, но он после какого-то времени простоя отключается, проводник вообще зависает, поэтому сейчас работаю с

и пока проблем как у Mobaxterm не наблюдаю.

Подключение к серверу

Основой работы с VPS сервером на Linux является SSH подключение. Подключение по SSH осуществляется с помощью SSH клиентов. Одним из самых популярных является PuTTY. Работа с программой подробней рассмотрена в этой статье. Информацию о других способах подключения по SSH протоколу можно найти здесь.

Работа с серверами на Windows осуществляется с помощью протокола удалённого рабочего стола RDP (Remote Desktop Protocol). Он позволяет обеспечить удалённую работу пользователя с сервером, на котором запущен сервис терминальных подключений. Подробнее тема подключения к удаленному рабочему столу по RDP рассмотрена в данной статье.

Постановка задачи

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

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

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

Вторая проблема: хостинг постоянно падал. Причину в итоге нашли: Entry processes limit — параметр, который определяет количество CGI/PHP-процессов, входящих внутрь виртуального контейнера, и о котором не сильно любят говорить маркетологи хостера. На графиках его тоже не видно, только маленькая графа в таблице.

Предисловие

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

Не буду рассказывать как я изучал javascript, node.js, react, html, css и т.п., перейдём к тому, к чему я пришел на данный момент, чем хотел бы с вами поделится и, конечно, послушать конструктивную критику специалистов.

Как и многие я тренировался на собственном ПК на localhost:3000, создавал front/back-end’ы, верстал, работал с api и т.д., но меня всегда тревожила мысль а том, как же всё это потом перенести на хостинг? Будет ли оно работать? Нужно ли будет переписывать из-за этого код?

Программа реселлинг – перепродажа хостинг услуг

Есть компании с BillManager Corporate, которые позволяют продавать свои услуги, реселер аккаунтам, по типу биллинг-биллинг.  Схема работает так:

  • Существует внешний биллинг, Corporate, возможно Advanced;
  • На биллинге есть и активирована возможность перепродажи;
  • Создаете там  реселлер аккаунт;
  • Создаете сервер, ставите на нем биллинг, подключаете реселлер аккаунт, импортирует тарифные планы;

Можно начинать перепродажи:

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

Реальный доход, при большом количестве проектов.

Размещение вручную

Чтобы разместить сайт на Linux-сервере в ручном режиме, потребуется установить комплект инструментов (стек) LEMP (Linux, Nginx, MySQL, PHP) или LAMP (Linux, Apache, MySQL, PHP).

Для размещения на VDS популярных приложений для разработчиков — Ruby, Python, Node.js, Perl, дополнительная настройка не потребуется. Это же относится и к сайтам, созданным на основе этих веб-сервисов. Их развертывание можно производить прямо на «голую» виртуальную машину, без использования каких-либо плагинов.

На Windows установка сайтов возможна с помощью WEB-сервера IIS. Подробнее об установке и настройке IIS узнать из этой статьи.

Следующий этап размещения в ручном режиме — заливка файлов сайта на сервер. Сделать это можно с помощью одного из файловых менеджеров, поддерживающих протокол безопасной передачи данных SFTP (Filezilla, WinSCP).

Для установленных веб-серверов Apache и Nginx выгрузку файлов сайта следует осуществлять в папку корневого каталога «www». Ее расположение будет зависеть от ПО, установленного на предыдущих этапах. Например, для Apache путь к директории сайта по умолчанию будет следующим:

/var/www/html

Размещение сайтов на vds/vps

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

Регистрация и вход в биллинг-панель

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

После прохождения регистрации можно заказать VPS и начать управлять виртуальным сервером через панель VMmanager.

Создать свой хостинг с минимальными потерями

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

Ставим mysql

C MySQL все очень просто. Вводим

# apt install mysql-server

На запрос указываем пароль root, и уже можно работать. Если не требуется доступ к нему извне, то следует разрешить использовать только локалхост или сокет.

# nano /etc/mysql/my.cnf
socket    = /var/run/mysqld/mysqld.sock
skip-networking
# bind-address        = 127.0.0.1

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

# service mysql restart

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

Ставим веб-сервер

Несмотря на их разнообразие, выбор установки обычно сводится к трем вариантам: Apache, nginx или nginx как реверс Apache. Apache очень гибок в настройках и использует модули для обработки динамических запросов, поэтому хорошо справляется с динамикой.

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

Поэтому окончательный выбор веб-сервера всегда приходится подтверждать практикой, подбирая оптимальный вариант. Проблема nginx — то, что в некоторых специфических движках следует вручную возиться с редиректами, когда на Apache все будет работать буквально из коробки, достаточно просто включить mod_rewrite.

Нагрузочное тестирование можно произвести при помощи ab (Apache Benchmark, входит в apache2-utils) или siege. Причем лучше проверить с localhost и удаленного узла, чтобы видеть, как работает сеть.

Тарифы

На Eternalhost клиент может выбрать из четырех различных тарифов:

  • Начальный: 1 x 2.8 ГГц CPU, 1 ГБ DDR4, 16 ГБ NVMe.
  • Базовый: 2 x 2.8 ГГц CPU, 2 ГБ DDR4, 32 ГБ NVMe.
  • Премиум: 3 x 2.8 ГГц CPU, 4 ГБ DDR4, 64 ГБ NVMe.
  • Свободная конфигурация: здесь клиент может сам настроить параметры сервера самостоятельно.

На странице VPS/VDS можно подробнее ознакомиться с конфигурациями и посмотреть тарифы VPS.

Выбор тарифного плана полностью зависит от задач, которые клиент планирует выполнять в рамках своего сервера. Следует отметить, что работа с Windows Server 2022, 2022, 2022 невозможна на начальном тарифе.

Тестовый период

Для VDS/VPS тестовый период не предоставляется, но вы можете запросить возврат денежных средств в течение 14 дней после покупки услуги.

Управление виртуальными серверами в vmmanager

Для управления серверами в разделе «Управление» нужно перейти в раздел «Виртуальные машины». Откроется панель, в которой можно управлять VDS. Здесь отображаются все купленные виртуальные серверы.

Для действий с виртуальным сервером нужно выделить его одним кликом и затем выбрать иконку действия в верхнем меню. Далее рассмотрим функциональное меню VMmanager более подробно.

Функция «ip-адреса»

Нажав на «IP-адреса», можно вывести следующую информацию о сети:

  • IP-адрес;
  • домен;
  • адрес шлюза;
  • маска сети.

Функция «vnc»

VNC (Virtual Network Computing) – система удалённого управления виртуальным сервером. Она работает через встроенную в панель управления VMmanager программу-клиент VNC viewer. Подробнее о подключении к серверу по VNC можно узнать здесь.

Функция «диски»

Если нажать на «Диски», получим информацию о виртуальных дисках.

Функция «интерфейсы»

Позволяет получить информацию о сетевых интерфейсах VDS:

  • адрес;
  • связанную сеть;
  • модель эмулируемого сетевого устройства.

Функция «информация»

Нажав «Информация», в новом вкладке можно получить информацию о виртуальной машине.

Функция «использование канала»

Перейдя во вкладку «Использование канала» нам будет выведена информация об использование интернет-канала за выбранный период — от одного дня до всего времени использования.

Функция «нагрузка»

Нажав «Нагрузка», можно увидеть загруженность ресурсов виртуального сервера за выбранный период.

Функция «пароль»

С помощью этой опции можно изменить пароль для подключения к серверу. При нажатии «Пароль» пользователь перейдет на страницу ввода нового пароля.

Далее нужно задать новый пароль, повторить его в графе подтверждение и нажать «Ok».

Также можно применить альтернативные способы восстановления пароля, воспользовавшись инструкциями отдельно для каждой версии Linux на Centos 6, Centos 7, Ubuntu и Debian.

Функция «перезапуск»

Также активный сервер можно перезапустить, сначала система его остановит, затем сразу же выполнить запуск.

Функция «переустановить»

С помощью кнопки «Переустановить» можно выполнить переустановку операционной системы. Подробнее о том, как поменять ОС через панель VMmanager можно почитать здесь.

Функция «снимки»

Снимок виртуальной машины (снапшот) — аналог резервирования данных веб-сервера с помощью бэкапа, только для VPS сервера. Подробнее работа со снапшотами рассмотрена в этой статье.

Функция «старт»

Виртуальный сервер может быть включен, выключен или перезапущен, точно так же, как физический сервер или компьютер. Если VDS выключен, у него отображается статус «Виртуальная машина выключена».

В этом случае его можно запустить с помощью кнопки «Старт».

Функция «стоп»

Если сервер активен, у него отображается статус «Виртуальная машина включена». Остановить VPS можно с помощью кнопки «Стоп».

Хостинг на облаках

4 Способа создать свой хостингИспользование VDS сервера на облачных технологиях с разбиением его на хостинг куски, идея, лежащая на поверхности. Привлекательность использования  VDS сервера, в дешевизне и возможностью постепенного наращивания ресурсов. Но это на первый взгляд.

Эволюция создания хостинга на VDS проста:

Через панель управления

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

Шаг 1. покупка домена

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

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

Шаг 2. создание сайта


Самый простой способ — воспользоваться сервисом-конструктором с визуальным редактором сайта. Например,

. Также существуют платные или бесплатные CMS с разными возможностями и функциональностью. Вам нужно лишь выбрать её под свои требования, затем определиться с шаблоном дизайна, развернуть и настроить. Есть ещё третий вариант с привлечением специалистов со стороны, но это как минимум дорого, а как максимум стоит нервов и времени. Самим, конечно, ничего делать не придётся, но сайт у вас будет только через месяц-другой.

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

Шаг 6. настраиваем мониторинг сайта

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

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

Кроме того, система мониторинга очень поможет в отслеживании SEO-показателей, а также позволит контролировать ваш интернет-магазин. Сервис тут же оповестит вас, если каких-то товаров на виртуальных полках вашего магазина становится всё меньше и меньше, а спрос растёт.

Вывод

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

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