September 05, 2026 · by Alex M.
Elasticsearch — один из самых популярных движков полнотекстового поиска и аналитики с открытым исходным кодом. Если у вас крупный сайт, интернет-магазин, платформа для анализа логов или любое приложение, которому нужен быстрый и гибкий поиск, Elasticsearch — ваш выбор. В этом руководстве мы покажем, как установить, настроить и защитить Elasticsearch на VPS NVMe или VPS SSD под управлением Ubuntu 22.04.
Elasticsearch построен на базе библиотеки Apache Lucene и предоставляет:
Для стабильной работы в продакшене Elasticsearch требует минимум 2 ГБ ОЗУ и 2 vCPU. Рекомендуем использовать VPS NVMe для максимальной производительности при интенсивной индексации.
Перед началом убедитесь, что у вас есть:
sudo9200 (HTTP) и 9300 (транспорт)Всегда начинайте с полного обновления пакетов:
sudo apt update && sudo apt upgrade -y
Elasticsearch отсутствует в стандартных репозиториях Ubuntu. Добавьте официальный источник Elastic:
# Импорт GPG-ключа
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
# Добавление репозитория версии 8.x
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
# Обновление списка пакетов
sudo apt update
sudo apt install elasticsearch -y
После установки в терминале отобразится временный пароль для пользователя elastic — сохраните его немедленно!
The generated password for the elastic built-in superuser is:
XXXXXXXXXXXXXXXXXXX
Основной конфигурационный файл находится по адресу /etc/elasticsearch/elasticsearch.yml. Откройте его в редакторе:
sudo nano /etc/elasticsearch/elasticsearch.yml
Измените или проверьте следующие ключевые параметры:
# Имя кластера (уникальное в сети)
cluster.name: my-cluster
# Имя узла
node.name: node-1
# Директория для хранения данных
path.data: /var/lib/elasticsearch
# Директория для логов
path.logs: /var/log/elasticsearch
# Адрес прослушивания (127.0.0.1 для локального использования)
network.host: 127.0.0.1
# HTTP-порт
http.port: 9200
# Конфигурация single-node (для отдельного VPS)
discovery.type: single-node
# Включение безопасности X-Pack
xpack.security.enabled: true
Рекомендация: Если Elasticsearch работает только на одном сервере, оставьте
network.host: 127.0.0.1для максимальной безопасности.
Elasticsearch активно использует Java heap. Настройте лимиты в зависимости от доступной ОЗУ:
sudo nano /etc/elasticsearch/jvm.options.d/jvm-custom.options
Добавьте (для VPS с 4 ГБ ОЗУ выделяем 2 ГБ под Elasticsearch):
-Xms2g
-Xmx2g
Главное правило: не выделяйте более 50% от общего объёма ОЗУ и не превышайте 32 ГБ.
Elasticsearch требует специфических настроек ядра Linux:
# Увеличение лимита файловых дескрипторов
sudo sh -c 'echo "elasticsearch soft nofile 65536" >> /etc/security/limits.conf'
sudo sh -c 'echo "elasticsearch hard nofile 65536" >> /etc/security/limits.conf'
# Настройка vm.max_map_count (обязательно для Elasticsearch)
sudo sysctl -w vm.max_map_count=262144
# Сделать настройку постоянной
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Проверьте статус службы:
sudo systemctl status elasticsearch
Вы должны увидеть Active: active (running).
Убедитесь, что Elasticsearch отвечает корректно:
curl -k -u elastic:ВАШ_ПАРОЛЬ https://localhost:9200
Успешный ответ выглядит так:
{
"name" : "node-1",
"cluster_name" : "my-cluster",
"version" : {
"number" : "8.x.x",
"lucene_version" : "9.x.x"
},
"tagline" : "You Know, for Search"
}
Если вы потеряли начальный пароль, сбросьте его:
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Для создания нового пользователя с ограниченными правами:
sudo /usr/share/elasticsearch/bin/elasticsearch-users useradd myuser -p мойпароль -r viewer
Если файрвол ещё не настроен на вашем Linux VPS, заблокируйте внешний доступ к порту 9200:
# Запретить внешний доступ
sudo ufw deny 9200
sudo ufw deny 9300
sudo ufw allow ssh
sudo ufw enable
Если нужен доступ с другого сервера (например, сервера приложений), разрешите только конкретный IP:
sudo ufw allow from 1.2.3.4 to any port 9200
Для продвинутой настройки безопасности воспользуйтесь услугами администрирования серверов CLIQHOST — наши специалисты настроят и будут мониторить вашу инфраструктуру.
После запуска вы можете работать с Elasticsearch через HTTP-запросы:
curl -k -u elastic:ПАРОЛЬ -X PUT "https://localhost:9200/products?pretty"
curl -k -u elastic:ПАРОЛЬ -X POST "https://localhost:9200/products/_doc/1?pretty" \
-H 'Content-Type: application/json' \
-d '{
"name": "Ноутбук Asus",
"price": 3500,
"category": "электроника"
}'
curl -k -u elastic:ПАРОЛЬ -X GET "https://localhost:9200/products/_search?q=Ноутбук&pretty"
curl -k -u elastic:ПАРОЛЬ -X GET "https://localhost:9200/products/_search?pretty" \
-H 'Content-Type: application/json' \
-d '{
"query": {
"range": {
"price": { "gte": 1000, "lte": 5000 }
}
}
}'
Для стабильной работы в продакшене на выделенном сервере или VPS придерживайтесь следующих лучших практик:
# Добавьте в elasticsearch.yml
index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.fetch.warn: 1s
Логи сохраняются в /var/log/elasticsearch/. Следите за ошибками в реальном времени:
sudo tail -f /var/log/elasticsearch/my-cluster.log
Больше полезных материалов по администрированию серверов вы найдёте в блоге CLIQHOST.
Elasticsearch — мощный инструмент, однако он требует грамотной настройки ресурсов и внимательного подхода к безопасности. Следуя шагам этого руководства, вы получите работающую, защищённую и оптимизированную установку на Linux VPS. Ключ к успеху — правильное выделение памяти, ограничение сетевого доступа и постоянный мониторинг.
Если вам нужна производительная и надёжная инфраструктура для Elasticsearch, ознакомьтесь с предложениями VPS NVMe от CLIQHOST — быстрое NVMe-хранилище, выделенные ресурсы и техническая поддержка. Для крупных проектов управляемые выделенные серверы обеспечат необходимую вычислительную мощность и экспертное сопровождение. Свяжитесь с нами, чтобы подобрать оптимальное решение.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."