- Что такое vps/vds сервер
- Добавление базы данных и почтового домена
- Первоначальные настройки сервера
- Почтовый сервер
- .babelrc
- .gitignore
- Client.js
- Compute cloud
- Github
- Public
- Visual studio code
- Webpack.config.js
- Автоматически обновляемый ssl
- Безопасность
- Вход в панель
- Вход с vmmanager
- Выбор хостинга
- Делаем всё удобно или цикл разработки с помощью git
- Для чего еще можно использовать виртуальный сервер
- Для чего он нужен
- Добавление домена
- Дополнительные услуги
- Загрузка файлов сайта
- Как бесплатно зарегистрировать домен и хостинг для сайта
- Как создать свой хостинг
- Как создать свой хостинг на домашнем компьютере
- Мониторинг и бэкап
- Настройка bitvise ssh
- Папка server
- Перенос сайтов
- Подключаемся к bitbucket
- Подключаемся к облаку с пк и выбираем бесплатный ssh клиент
- Подключение к серверу
- Постановка задачи
- Предисловие
- Программа реселлинг – перепродажа хостинг услуг
- Размещение вручную
- Размещение сайтов на vds/vps
- Регистрация и вход в биллинг-панель
- Создать свой хостинг с минимальными потерями
- Ставим mysql
- Ставим веб-сервер
- Тарифы
- Тестовый период
- Управление виртуальными серверами в vmmanager
- Функция «ip-адреса»
- Функция «vnc»
- Функция «диски»
- Функция «интерфейсы»
- Функция «информация»
- Функция «использование канала»
- Функция «нагрузка»
- Функция «пароль»
- Функция «перезапуск»
- Функция «переустановить»
- Функция «снимки»
- Функция «старт»
- Функция «стоп»
- Хостинг на облаках
- Через панель управления
- Шаг 1. покупка домена
- Шаг 2. создание сайта
- Шаг 6. настраиваем мониторинг сайта
- Вывод
Что такое 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
.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. Появится два варианта: поддержать проект и скачать файл на максимальной скорости или отказаться и просто скачать. Первый предполагает некоторую оплату, за которую возрастает скорость загрузки.
3. После скачивания необходимо установить программу и перейти в ее директорию, в которой отобразятся файлы для запуска. Необходимо выбрать тот, который подходит под разрядность ОС и открыть его, предварительно отключив антивирус.
4. После открытия программы появится флажок красного цвета, кликнув по которому переходим в настройки.
5. Нажимаем на пункт «Сервер» и меняем локальный IP-адрес на статический, далее сохраняем.
6. Приступаем к запуску сервера нажатием на красный флажок и выбираем пункт «Запустить». Иногда может появляться ошибка о несовместимости конфигурации. Для устранении ошибки переименовываем папку localhost в openserver, которая находится в директории ПО в папке domains.
Это все этапы, которые необходимы для настройки локального сервера. Если выбор пал арендовать VPS у хостинг-провайдера, необходимо выбрать соответствующий тариф. После его активации на готовый сервер выгружается свой веб-ресурс и открывается всему интернету.
Мониторинг и бэкап
Две важные вещи — мониторинг и бэкап. После установки сайт может падать из-за неоптимальных настроек. Поэтому лучше сразу установить хотя бы простое решение, позволяющее перезапускать сервисы. В репозиториях есть отличные утилиты healt-check или monit, проверяющие не только сервисы, но и общее состояние системы.
Настройка bitvise ssh
Папка 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 можно с помощью кнопки «Стоп».
Хостинг на облаках
Использование VDS сервера на облачных технологиях с разбиением его на хостинг куски, идея, лежащая на поверхности. Привлекательность использования VDS сервера, в дешевизне и возможностью постепенного наращивания ресурсов. Но это на первый взгляд.
Эволюция создания хостинга на VDS проста:
Через панель управления
Важно помнить, что ручное размещение сайта подходит только для опытных пользователей. Но можно использовать и более простой способ — упрощенное размещение через бесплатные или платные панели управления веб-хостингом.
Шаг 1. покупка домена
Для начала необходимо выбрать и купить домен. От адреса сайта в Сети очень многое зависит. Он должен быть звучным, ассоциироваться с вашей деятельностью и, конечно, легко запоминаться. Если у вас есть зарегистрированная торговая марка или название компании, то в доменном имени можно обыграть их. Проверить доступность придуманного вами варианта можно с помощью
Если выбранное доменное имя свободно, то вы сможете его зарегистрировать. Такое везение в старейших доменных зонах случается достаточно редко, а значит, у вас есть несколько вариантов.
Шаг 2. создание сайта
Самый простой способ — воспользоваться сервисом-конструктором с визуальным редактором сайта. Например,
. Также существуют платные или бесплатные CMS с разными возможностями и функциональностью. Вам нужно лишь выбрать её под свои требования, затем определиться с шаблоном дизайна, развернуть и настроить. Есть ещё третий вариант с привлечением специалистов со стороны, но это как минимум дорого, а как максимум стоит нервов и времени. Самим, конечно, ничего делать не придётся, но сайт у вас будет только через месяц-другой.
Впрочем, и в первом случае выбор нужной платформы, её установка и поиск шаблонов займут очень много бесценного времени. А во втором — вы потратите то же время на тест нескольких подобных сервисов, пока не найдёте нужный вам по функциональности.
Шаг 6. настраиваем мониторинг сайта
Сайт работает и уже приносит стабильный доход. Однако всегда могут возникнуть обстоятельства, при которых что-то может пойти не так. Так называемые форс-мажоры. Администратор сайта что-то сломал при очередном обновлении, или пользователи сделали ошибки, которые повлияли на работу движка.
И вот уже сайт лежит. А как показывает практика, час простоя может дорого обойтись вашему бизнесу и репутации. Чтобы всегда быть в курсе работоспособности вашей страницы в Сети, используйте услугу мониторинга сайта. В эту систему входят несколько сервисов, которые производят периодическую проверку сервера по заданным параметрам и сообщают о выявляемых ошибках. Вы всегда будете иметь всю информацию о работоспособности вашего сайта.
Кроме того, система мониторинга очень поможет в отслеживании SEO-показателей, а также позволит контролировать ваш интернет-магазин. Сервис тут же оповестит вас, если каких-то товаров на виртуальных полках вашего магазина становится всё меньше и меньше, а спрос растёт.
Вывод
В статье описана самая простая ситуация, которая встречается в 80% случаев. В идеале затем каждый пункт требует дополнительного внимания, после тестового прогона следует заняться оптимизацией и попробовать выжать из сервера максимум.