手把手教你用阿里云轻量服务器搭建Elasticsearch全文检索系统

你是不是也遇到过这样的问题:项目里的数据越来越多,搜索功能却越来越卡?用户输入个关键词,页面转半天才出结果,体验差到想砸键盘。别急,今天我就带你用最简单的方式,在阿里云的轻量应用服务器上,从零开始搭建一个高效、稳定的Elasticsearch全文检索系统。

阿里云轻量服务器安装Elasticsearch全文检索

而且整个过程不需要你是Linux大神,也不用懂太多复杂的运维知识。只要你能连上服务器、会敲几行命令,就能搞定。最关键的是——成本低!我用的就是阿里云的轻量服务器,价格亲民,配置够用,特别适合个人开发者、小团队或者刚起步的项目。

为什么选Elasticsearch做全文检索?

先说说为啥要搞Elasticsearch。传统的数据库比如MySQL,虽然也能做模糊查询(LIKE语句),但一旦数据量上万,查询速度就会明显变慢,更别说高亮、分词、相关性排序这些高级功能了。

而Elasticsearch不一样,它是专门为搜索而生的。支持中文分词、拼音检索、模糊匹配、高亮显示、聚合分析……功能强大到让你怀疑人生。像京东、淘宝、知乎这些大厂,背后都有Elasticsearch的身影。

更重要的是,它部署起来并不复杂。只要你有一台能跑Java的服务器,基本就能跑起来。而阿里云的轻量服务器,正好满足这个条件。

准备工作:买服务器 + 开通环境

第一步,当然是买服务器。我推荐你去阿里云官网看看“轻量应用服务器”,新用户首年特别便宜,2核4G的配置才几十块钱,比一杯奶茶还便宜,但性能完全够用。

选择系统的时候建议选Ubuntu 20.04或CentOS 7以上版本,后续安装软件包会更方便。买完之后,你会拿到公网IP、用户名和密码,用SSH工具(比如Xshell、FinalShell)连上去就行。

对了,提醒一句:在正式安装之前,强烈建议你先领个阿里云优惠券,能省则省嘛!点击这里领取专属福利:阿里云优惠券,不管是买服务器还是后续升级配置都能用上,白嫖的快乐谁懂啊!

安装Java环境:Elasticsearch的“饭”

Elasticsearch是用Java写的,所以第一步必须装JDK。你可以理解为,没有Java,它连启动都启动不了,就像汽车没油。

登录服务器后,先更新一下软件源:

sudo apt update

然后安装OpenJDK 11(推荐,免费且稳定):

sudo apt install openjdk-11-jdk -y

装完之后检查一下版本:

java -version

如果看到输出里有“openjdk version “11””,那就说明装成功了。这一步很简单,一般不会出错。

下载并安装Elasticsearch

接下来就是主角登场了。去Elastic官网找最新的Linux版本下载链接。注意别下错了,一定要选“.tar.gz”格式的压缩包。

用wget命令直接在服务器上下载:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-linux-x86_64.tar.gz

下载完成后解压:

tar -xzf elasticsearch-8.11.3-linux-x86_64.tar.gz

然后把解压后的文件夹移到一个合适的位置,比如/opt:

sudo mv elasticsearch-8.11.3 /opt/elasticsearch

配置Elasticsearch:让它听话

默认情况下,Elasticsearch是不允许远程访问的,而且自带安全认证。对于我们这种测试环境来说,可以先简化配置。

进入配置目录:

cd /opt/elasticsearch/config

编辑主配置文件:

sudo nano elasticsearch.yml

找到这几项,取消注释并修改:

network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node

解释一下:

  • network.host: 0.0.0.0 表示允许任何IP访问(生产环境不建议这么干)
  • http.port: 9200 是ES的默认端口
  • discovery.type: single-node 表示这是单节点模式,避免启动报错

保存退出(nano编辑器按Ctrl+O回车,再Ctrl+X退出)。

启动Elasticsearch服务

现在可以尝试启动了。但要注意:Elasticsearch不能用root用户直接运行,得创建个专用用户。

sudo adduser elasticsearch
sudo chown -R elasticsearch:elasticsearch /opt/elasticsearch

切换用户并启动:

su - elasticsearch
cd /opt/elasticsearch/bin
./elasticsearch

第一次启动会比较慢,因为它要初始化各种组件。等看到“started”字样,就说明启动成功了。

打开浏览器,访问你的服务器公网IP加9200端口,比如:http://你的IP:9200,如果看到JSON格式的欢迎信息,恭喜你,Elasticsearch已经跑起来了!

开放防火墙端口

如果打不开网页,大概率是防火墙或安全组没开。回到阿里云控制台,找到你的轻量服务器,进入“防火墙”设置,添加一条规则:

  • 协议类型:自定义 TCP
  • 端口范围:9200
  • 源地址:0.0.0.0/0(测试用,上线记得改)

保存后再次访问,应该就能看到了。

实战:插入数据 & 搜索试试

来点实际的。我们用curl命令往ES里塞点测试数据:

curl -X POST "http://localhost:9200/news/_doc" -H "Content-Type: application/json" -d'
{
  "title": "阿里云轻量服务器真香",
  "content": "今天我在阿里云的轻量服务器上成功安装了Elasticsearch,搜索速度快到飞起!"
}'

再查一遍:

curl -X GET "http://localhost:9200/news/_search?q=阿里云"

你会看到返回结果里包含了刚才插入的数据,说明搜索功能已经可用!

优化建议:让系统更稳定

虽然现在能用了,但还有几个小优化可以做:

  1. 设置开机自启:可以把Elasticsearch写成systemd服务,这样重启服务器也不会断。
  2. 调整JVM内存:默认是1GB,如果你的服务器有4G内存,可以调到2G,在jvm.options文件里改。
  3. 安装中文分词插件:比如IK分词器,对中文搜索更友好。
  4. 加Nginx反向代理:用域名访问,还能加HTTPS加密。

这些进阶操作我以后可以单独写文章细讲,今天先把基础搭起来最重要。

常见问题 & 解决方案

你在安装过程中可能会遇到这些问题:

  • 启动失败提示权限不足:记得不要用root运行,创建专用用户。
  • 连接被拒:检查防火墙和安全组是否放行9200端口。
  • 内存不够:关闭其他占用内存的服务,或者升级服务器配置。
  • 无法远程访问:确认elasticsearch.yml里的network.host设成了0.0.0.0。

大部分问题都是配置疏忽导致的,仔细对照步骤一般都能解决。

低成本也能玩转高性能搜索

看到这儿,你应该已经成功在阿里云轻量服务器上跑起了Elasticsearch。整个过程其实没那么可怕,只要一步步来,连我这种半路出家的都能搞定,你肯定也没问题。

这套组合拳的优势很明显:成本低、上手快、效果好。无论是做个博客搜索、商品检索,还是企业内部文档查询,都能轻松应对。

最重要的是,你现在拥有了一个可扩展的基础架构。未来数据量大了,可以直接迁移到Elastic Cloud,或者自己搭集群,平滑过渡。

最后再提醒一次:如果你还没买服务器,赶紧去领个阿里云优惠券,能省不少钱。毕竟技术人也要精打细算,把每一分钱花在刀刃上。

好了,今天的内容就到这里。动手试试吧,有问题欢迎留言交流。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/149815.html

(0)
上一篇 1天前
下一篇 1天前
联系我们
关注微信
关注微信
分享本页
返回顶部