如何在Linux系统中安装和配置Elasticsearch?快速搭建搜索服务的指南

安装Elasticsearch前需准备Java环境、调整系统参数。首先安装OpenJDK 17,确保java -version验证通过;其次配置vm.max_map_count≥262144、file descriptors限制(nofile 65535)、禁用swap;然后使用官方仓库安装Elasticsearch,修改elasticsearch.yml设置cluster.name、node.name、network.host和path路径,调整jvm.options中堆内存为物理内存一半(如8g);最后启动服务并开放9200、9300端口。生产环境还需优化分片策略、GC设置、refresh_interval,并通过监控工具分析性能瓶颈。集群部署时配置discovery.seed_hosts和cluster.initial_master_nodes避免脑裂,确保高可用。

如何在linux系统中安装和配置elasticsearch?快速搭建搜索服务的指南

在Linux系统上安装和配置Elasticsearch,核心思路就是先搞定Java运行环境,接着通过包管理器安装Elasticsearch服务本身,然后调整

elasticsearch.yml

jvm.options

这两个关键配置文件来满足你的需求,最后启动服务并确保网络端口是开放的。整个过程就像是给你的Linux服务器装配一个强大的搜索引擎模块,每一步都需要一点细心。

解决方案

要快速搭建一个可用的Elasticsearch搜索服务,以下是我的操作流程和一些思考:

1. 准备Java运行环境

Elasticsearch是基于Java开发的,所以系统里必须有Java环境。我通常会选择OpenJDK,因为它稳定、开源且兼容性好。

对于Debian/Ubuntu系统:

sudo apt updatesudo apt install openjdk-17-jdk -y

对于CentOS/RHEL系统:

sudo yum install java-17-openjdk -y

安装完成后,你可以用

java -version

命令确认一下,确保版本符合Elasticsearch的要求(通常最新稳定版Elasticsearch会推荐特定版本的JDK)。

2. 添加Elasticsearch官方仓库并安装

直接从官方仓库安装是最好的方式,这样更新和维护都方便。

对于Debian/Ubuntu系统:

首先导入Elasticsearch的GPG密钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

然后添加仓库配置:

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

更新apt缓存并安装Elasticsearch:

sudo apt updatesudo apt install elasticsearch -y

对于CentOS/RHEL系统:

首先导入Elasticsearch的GPG密钥:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

然后创建仓库配置文件

/etc/yum.repos.d/elasticsearch.repo

,内容如下:

[elasticsearch]name=Elasticsearch repository for 8.x packagesbaseurl=https://artifacts.elastic.co/packages/8.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md

安装Elasticsearch:

sudo yum install elasticsearch -y

3. 配置Elasticsearch

安装完成后,最重要的就是修改

elasticsearch.yml

jvm.options

。这些文件通常在

/etc/elasticsearch/

目录下。

elasticsearch.yml

(核心配置)

打开

/etc/elasticsearch/elasticsearch.yml

,以下是我通常会调整的几个关键项:

# 集群名称,生产环境务必修改,避免不同集群混淆cluster.name: my-application-cluster# 节点名称,每个节点都应该独一无二node.name: node-1# 数据存储路径,建议使用单独的、高性能的磁盘path.data: /var/lib/elasticsearch# 日志存储路径path.logs: /var/log/elasticsearch# 绑定网络接口,0.0.0.0表示监听所有接口。生产环境建议绑定具体IPnetwork.host: 0.0.0.0# HTTP端口http.port: 9200# 初始主节点列表,单节点可以省略,多节点集群非常重要# cluster.initial_master_nodes: ["node-1"]

对于

network.host

,如果你只是在本地测试,

127.0.0.1

就够了。但如果需要从其他机器访问,

0.0.0.0

或者你的服务器私有IP是必须的。

jvm.options

(JVM内存配置)

打开

/etc/elasticsearch/jvm.options

。这里最关键的是JVM堆内存(Heap Size)的设置。

Freepik Mystic Freepik Mystic

Freepik Mystic 是一款革命性的AI图像生成器,可以直接生成全高清图像

Freepik Mystic 127 查看详情 Freepik Mystic

-Xms4g-Xmx4g

Xms

Xmx

应该设置为相同的值,这能避免JVM在运行时动态调整堆大小带来的性能开销。我个人的经验是,分配给Elasticsearch的内存,通常设置为服务器物理内存的一半,但绝不能超过一半。比如,一台16GB内存的服务器,分配8GB给Elasticsearch就是个不错的起点。给Elasticsearch留太多内存,系统自身可能会卡死;留太少,Elasticsearch又跑不快。

4. 启动并启用Elasticsearch服务

配置完成后,就可以启动服务了:

sudo systemctl start elasticsearch

设置开机自启动:

sudo systemctl enable elasticsearch

检查服务状态:

sudo systemctl status elasticsearch

如果一切顺利,你会看到服务处于

active (running)

状态。

5. 验证安装

服务启动后,你可以用

curl

命令测试一下:

curl -X GET "localhost:9200/?pretty"

如果返回一个包含Elasticsearch版本、集群名称等信息的JSON响应,那就说明安装成功了。

6. 配置防火墙

如果你的服务器开启了防火墙(比如

ufw

firewalld

),你需要放行Elasticsearch的HTTP端口(默认9200)和传输端口(默认9300,用于节点间通信)。

对于

ufw

(Debian/Ubuntu):

sudo ufw allow 9200/tcpsudo ufw allow 9300/tcpsudo ufw reload

对于

firewalld

(CentOS/RHEL):

sudo firewall-cmd --add-port=9200/tcp --permanentsudo firewall-cmd --add-port=9300/tcp --permanentsudo firewall-cmd --reload

Elasticsearch安装前,Linux环境需要哪些关键准备?

在着手安装Elasticsearch之前,对Linux系统进行一些必要的准备工作,这不仅仅是为了让安装顺利,更是为了Elasticsearch能稳定、高效地运行。我个人觉得,这些“前戏”往往比安装本身更重要,因为它们直接影响到后续的性能和稳定性。

1. Java Development Kit (JDK) 的选择与安装这是基石。Elasticsearch是Java应用,所以JDK是必须的。通常,Elasticsearch官方会推荐一个或几个特定版本的OpenJDK。选择一个LTS(长期支持)版本的JDK,比如OpenJDK 17,是个明智的选择。安装时,确保系统环境变量

JAVA_HOME

设置正确,虽然通过包管理器安装通常会自动处理,但检查一下总没错。

2. 内存与交换空间 (Swap Space) 的管理Elasticsearch是内存密集型应用,它会大量使用JVM堆内存。我们前面提到的

jvm.options

就是为此服务的。一个重要的建议是,禁用或最小化系统的交换空间。当系统内存不足时,如果Elasticsearch的堆内存被交换到磁盘,性能会急剧下降,甚至可能导致集群不稳定。你可以通过编辑

/etc/fstab

文件来禁用swap,或者使用

swapoff -a

临时禁用。

3. 虚拟内存参数调整 (

vm.max_map_count

)Elasticsearch在内部使用大量的内存映射(mmap)来处理索引文件。如果系统的

vm.max_map_count

值太低,可能会导致Elasticsearch启动失败或者运行不稳定。我通常会把这个值设置得比较高,比如262144。

sudo sysctl -w vm.max_map_count=262144

为了让这个设置永久生效,你需要编辑

/etc/sysctl.conf

文件,添加

vm.max_map_count = 262144

这一行,然后运行

sudo sysctl -p

4. 文件描述符限制 (

ulimit

)Elasticsearch会打开大量的索引文件和网络连接,这需要足够的文件描述符。Linux系统的默认

ulimit

值可能不足以满足Elasticsearch的需求。我通常会把

nofile

(打开文件数)和

nproc

(进程数)设置为65535甚至更高。

这些设置通常在

/etc/security/limits.conf

文件中完成:

* soft nofile 65535* hard nofile 65535* soft nproc 65535* hard nproc 65535

修改后,可能需要重新登录或重启系统才能生效。

5. 磁盘空间与类型Elasticsearch的性能对磁盘I/O非常敏感。选择高性能的SSD是最佳实践,而且要预留足够的磁盘空间来存储索引数据和日志。数据的增长速度往往超出预期,所以提前规划好磁盘容量至关重要。

这些准备工作做扎实了,Elasticsearch才能真正发挥它的威力。跳过这些,你很可能会在后续遇到各种奇怪的性能瓶颈和稳定性问题。

如何调优Elasticsearch以应对生产环境的性能挑战?

在生产环境中,Elasticsearch的性能优化是个持续的课题,它不像安装那样一次性搞定。面对高并发、大数据量的挑战,仅仅是默认配置是远远不够的。我通常会从几个核心点入手,结合实际的业务场景进行调整。

1. JVM堆内存 (

jvm.options

) 的精细化配置这是性能优化的重中之重。前面提过将

Xms

Xmx

设为物理内存的一半,但这里还有一些细节。比如,避免分配超过32GB的堆内存。JVM在堆内存小于32GB时会使用一个叫做“压缩普通对象指针”(Compressed Oops)的技术,这能显著提高内存利用率和性能。如果你的服务器内存超过64GB,可以考虑运行多个Elasticsearch实例,每个实例分配30GB左右的堆内存。另外,选择合适的GC(垃圾回收器)也很重要,OpenJDK 17默认使用G1 GC,通常表现不错,但在某些极端场景下,可能需要进一步调优GC参数。

2. 索引与分片 (Shards) 策略分片是Elasticsearch横向扩展的基础。但分片不是越多越好。每个分片都会消耗CPU、内存和文件句柄。一个经验法则是,确保你的分片大小在10GB到50GB之间。分片数量过多会导致集群管理开销增大,搜索性能下降。同时,副本(Replicas)的数量也要根据你的可用性和读写负载来决定。副本提供数据冗余和读扩展能力,但也会增加索引写入的开销。

3. 磁盘I/O优化Elasticsearch对磁盘I/O的依赖非常大,尤其是在索引写入和合并(merge)操作时。

使用SSD: 这是最直接有效的提升。NVMe SSD比SATA SSD性能更好。RAID配置: 如果使用多块磁盘,RAID 0或RAID 10可以提供更好的读写性能。独立磁盘: 尽可能将Elasticsearch的数据目录放在独立的物理磁盘上,避免与其他I/O密集型应用共享磁盘。文件系统: Ext4或XFS是常用的选择,通常XFS在大文件和高并发I/O场景下表现更佳。

4. 刷新间隔 (Refresh Interval) 与事务日志 (Translog) 配置

index.refresh_interval

这个参数决定了文档何时对搜索可见。默认是1秒。对于写入密集型应用,可以适当增加这个间隔,比如

5s

10s

,以减少刷新操作的开销,提高写入吞吐量。但代价是搜索的实时性会降低。

index.translog.sync_interval

事务日志用于保证数据持久性。默认是5秒同步一次到磁盘。如果你能接受少量数据丢失的风险(比如服务器突然断电),可以适当增加这个间隔,减少磁盘同步频率,提高写入性能。但通常不建议修改。

5. 批量操作 (Bulk API)对于大量数据的索引或更新,使用Bulk API是必须的。它能显著减少网络往返次数和CPU开销。一次Bulk请求包含的文档数量和大小需要根据你的网络带宽、文档大小和服务器性能进行测试和调整,没有一概而论的最佳值。

6. 监控与分析没有监控,所有优化都是盲人摸象。使用Kibana的Stack Monitoring、Prometheus + Grafana、或Elasticsearch自带的API来监控集群的CPU、内存、磁盘I/O、网络、JVM GC、索引吞吐量、搜索延迟等关键指标。通过这些数据,你才能发现瓶颈所在,并有针对性地进行优化。我个人觉得,一个好的监控系统是生产环境Elasticsearch的“眼睛”。

构建高可用Elasticsearch集群:从节点发现到常见故障排除

搭建一个高可用的Elasticsearch集群,远不止是简单地安装几个节点那么简单。它涉及到节点间的通信、数据的一致性、故障的自动恢复等一系列复杂问题。我个人在处理集群问题时,最头疼的往往是那些看似简单却又难以捉摸的“分布式系统”特有的问题。

1. 节点发现 (Discovery) 机制这是集群能够形成和维持的关键。Elasticsearch 8.x默认使用基于文件或单播(Unicast)的发现机制。

discovery.seed_hosts

这是集群中所有节点都需要知道的种子节点列表。在

elasticsearch.yml

中,你需要配置至少一个或几个已知的节点IP地址或主机名。例如:

discovery.seed_hosts: ["192.168.1.10", "192.168.1.11"]

。这些种子节点会帮助新加入的节点找到集群中的其他成员。

cluster.initial_master_nodes

这个参数只在集群第一次启动时使用,用于选举初始主节点。你需要在所有可能成为主节点的节点上配置这个列表。例如,如果你有3个主节点候选者,每个节点上都配置

cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

。一旦集群形成,这个参数就会被忽略。

2. 主节点选举与脑裂 (Split-Brain) 问题Elasticsearch集群中有一个主节点负责管理集群状态,比如创建索引、分配分片等。当网络分区发生时,如果集群被分割成多个部分,每个部分都可能认为自己是“多数派”,并尝试选举自己的主节点,这就产生了“脑裂”。脑裂会导致数据不一致甚至丢失。

多数派原则: Elasticsearch通过“投票配置”来避免脑裂。一个节点只有在能够看到集群中大多数投票节点时,才能成为主节点。

cluster.election.strategy

(默认是

1

,基于投票)和

cluster.initial_master_nodes

的正确配置是防止脑裂的关键。通常,一个3节点或5节点的集群是推荐的,因为它们更容易形成多数派。

3. 数据冗余与高可用通过配置副本分片(replica shards)来保证数据的高可用性。

index.number_of_replicas

默认是1。这意味着每个主分片都会有一个副本。如果一个节点宕机,它的主分片和副本分片会被自动分配到其他可用节点上,保证数据不丢失和搜索服务的连续性。在生产环境中,通常建议至少设置一个副本。

4. 常见故障排除

节点无法加入集群:网络问题: 检查防火墙(9200和9300端口),网络连通性。

discovery.seed_hosts

配置错误: 确保IP地址或主机名正确,并且所有节点都配置了。

cluster.name

不匹配: 所有节点必须有相同的集群名称。版本不兼容: 集群中的所有节点最好使用相同的主要版本。日志分析: 检查

/var/log/elasticsearch/

下的日志文件,它们通常会给出明确的错误信息。集群健康状态 (Cluster Health) 黄色或红色:黄色 (Yellow): 表示所有主分片都可用,但有一个或多个副本分片未分配。这可能是因为节点宕机、磁盘空间不足、或者某个索引的副本数设置过高导致没有足够的节点来承载。红色 (Red): 表示一个或多个主分片不可用。这意味着数据丢失或索引损坏。这是最严重的情况,需要立即介入。通常需要检查节点日志,看是哪个分片出了问题,并尝试恢复或重建索引。性能下降:资源瓶颈: 检查CPU、内存、磁盘I/O、网络使用情况。JVM GC: 查看JVM GC日志,判断是否有频繁的Full GC。慢查询: 使用Kibana的Search Slow Log或

_cluster/stats

API来识别慢查询。分片过载: 检查每个节点上的分片数量和大小是否合理。

构建一个健壮的Elasticsearch集群,就像是搭一座房子,地基要稳,结构要合理,还得随时准备好修修补补。持续的监控和及时的故障响应是保证其高可用的关键。

以上就是如何在Linux系统中安装和配置Elasticsearch?快速搭建搜索服务的指南的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/778839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
win8系统怎么连接WiFi_win8系统连接WiFi网络教程
上一篇 2025年11月26日 08:57:57
java 数组怎么getset
下一篇 2025年11月26日 08:58:23

相关推荐

  • 搬别人图片AI上传视频号被提示优化如何申请?ai生成的视频会被限流吗?

    借助AI工具将他人图片转化为视频并发布到视频号,已成为一种常见的内容创作形式。然而,若因此收到“内容需优化”的系统提示,该如何应对?这类由AI生成的视频是否容易遭遇限流? 一、使用他人图片通过AI制作视频上传后被提示优化,怎样申请复核? 当你在视频号发布的内容出现“内容需优化”提示时,说明平台算法初…

    2026年8月25日
    000
  • Android自定义视图状态保存:避免直接序列化Drawable对象的策略

    在android自定义视图中保存状态时,直接将`drawable`对象序列化到`parcelable`中是不可行的,因为`drawable`及其子类通常不实现`parcelable`接口,会导致`classcastexception`。正确的做法是保存`drawable`的资源id,并在状态恢复时通…

    2026年8月25日
    100
  • Java中如何创建线程 详解三种创建线程的方式

    Java中如何创建线程 详解三种创建线程的方式Java中如何创建线程 详解三种创建线程的方式Java中如何创建线程 详解三种创建线程的方式Java中如何创建线程 详解三种创建线程的方式

    java中创建线程的核心方式有三种:实现runnable接口、继承thread类、使用executorservice。1.实现runnable接口是推荐方式,通过实现run()方法定义任务,再由thread执行,避免单继承限制并解耦任务与线程;2.继承thread类则直接重写run()方法,虽简单但…

    2026年8月25日 用户投稿
    500
  • win11蓝牙找不到设备如何解决_Win11蓝牙无法搜索到设备的解决方法

    首先使用系统内置疑难解答工具检测并修复蓝牙问题,接着检查并启动蓝牙支持服务,更新或重装蓝牙驱动程序,确保目标设备处于配对模式且信号无干扰,最后通过管理员命令重置网络与蓝牙协议栈并重启电脑。 如果您尝试在Windows 11系统中搜索蓝牙设备,但无法发现任何可用设备,这可能是由于驱动、服务或设置问题导…

    2026年8月25日
    000
  • linux下的软件防火墙iptables——规则的定义与删除

    关于ipitables防火墙的介绍,以及如何查看规则及清理规则等,在之前的一篇文章中已经讲述了,今天这里是演示如何制定防火墙的规则。因为工作中,主要会对filter链制定规则,所以这里我们主要也以fitler链做演示。 准备工作 制定规则前,我们首先关闭firewalld服务、开启iptables服…

    用户投稿 2026年8月25日
    000
  • 电脑怎么连接网络wifi 简单几步轻松上网

    电脑怎么连接网络wifi 简单几步轻松上网电脑怎么连接网络wifi 简单几步轻松上网电脑怎么连接网络wifi 简单几步轻松上网电脑怎么连接网络wifi 简单几步轻松上网

    刚入手的新电脑,或是重装系统后发现 wifi 选项不见了?无法连接无线网络?别着急!驱动哥来为你支招,手把手教你正确连接 wifi,并针对常见连接失败问题提供实用解决方案,轻松畅享无线网络的便利! 一、电脑连接 WiFi 的正确操作步骤 1. 确认电脑具备无线网卡 大多数笔记本电脑出厂时已内置无线网…

    2026年8月25日 用户投稿
    300
  • Java中可重入锁的作用 解析ReentrantLock的实现原理

    Java中可重入锁的作用 解析ReentrantLock的实现原理Java中可重入锁的作用 解析ReentrantLock的实现原理Java中可重入锁的作用 解析ReentrantLock的实现原理Java中可重入锁的作用 解析ReentrantLock的实现原理

    可重入锁允许一个线程多次获取同一把锁,避免线程自身被锁死。1.reentrantlock基于aqs实现,通过cas操作和fifo队列管理锁的获取与释放;2.可重入性通过判断当前线程是否为锁持有者实现,state值记录重入次数;3.释放锁时减1,state为0才唤醒等待线程;4.可重入性在一定程度上避…

    2026年8月25日 用户投稿
    000
  • 推荐一些具体的AI工具 豆包在线入口

    豆包是字节跳动推出的免费 AI 助手,提供多平台使用和登录方式。1. 豆包:字节跳动推出的免费 AI 助手,支持网页、iOS 和 Android 端,登录方式包括手机号和抖音账号,网页端入口为豆包官网。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模…

    2026年8月25日
    000
  • 抖音电商达人带货直播全攻略 | 快速提升销售业绩

    一、引言 近年来,随着短视频生态的不断成熟,抖音已逐渐成为电商营销的核心平台之一。越来越多的电商达人通过直播带货的形式,不仅能够全方位呈现商品信息,还能与用户即时沟通,显著提升转化效率。本文将系统梳理抖音电商达人如何高效开展带货直播,助力销量快速增长。 二、直播前的策划准备 精准选品 选品是直播成功…

    2026年8月25日
    100
  • Linux下怎么查看MySQL版本

    1. 在终端下执行 mysql -V (注意V大写) 2. 在mysql 里查看 select version(); 3. 在mysql 里查看 status 以上就是Linux下怎么查看MySQL版本的详细内容,更多请关注创想鸟其它相关文章!

    2026年8月25日
    100
  • 电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法

    电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法

    在运行游戏或部分软件时,有时会弹出提示:“steam_api.dll未被指定在windows上运行,或文件已损坏。”这通常是因为dll文件丢失、版本不兼容,或系统缺少必要的运行环境。下面介绍几种简单有效的解决方式。 方法一:使用“星空运行库修复大师”自动修复(首选) 对于不太熟悉手动操作的用户来说,…

    2026年8月25日 用户投稿
    300
  • 如何在 VS Code 中解决折叠代码复制问题?

    解决 VS Code 折叠代码复制问题 在 VS Code 中使用折叠功能可以帮助组织长代码,但使用复制功能时,可能会遇到只复制可见部分的问题。以下是如何解决此问题: 当代码被折叠时,可以使用以下简单操作复制整个折叠代码: 按下 Ctrl + C (Windows/Linux) 或 Cmd + C …

    2025年12月24日
    300
  • 姜戈顺风

    本教程演示如何在新项目中从头开始配置 django 和 tailwindcss。 django 设置 创建一个名为 .venv 的新虚拟环境。 # windows$ python -m venv .venv$ .venvscriptsactivate.ps1(.venv) $# macos/linu…

    2025年12月24日
    100
  • 深入理解CSS框架与JS之间的关系

    深入理解CSS框架与JS之间的关系 在现代web开发中,CSS框架和JavaScript (JS) 是两个常用的工具。CSS框架通过提供一系列样式和布局选项,可以帮助我们快速构建美观的网页。而JS则提供了一套功能强大的脚本语言,可以为网页添加交互和动态效果。本文将深入探讨CSS框架和JS之间的关系,…

    2025年12月24日
    200
  • HTML+CSS+JS实现雪花飘扬(代码分享)

    HTML+CSS+JS实现雪花飘扬(代码分享)HTML+CSS+JS实现雪花飘扬(代码分享)HTML+CSS+JS实现雪花飘扬(代码分享)HTML+CSS+JS实现雪花飘扬(代码分享)

    使用html+css+js如何实现下雪特效?下面本篇文章给大家分享一个html+css+js实现雪花飘扬的示例,希望对大家有所帮助。 很多南方的小伙伴可能没怎么见过或者从来没见过下雪,今天我给大家带来一个小Demo,模拟了下雪场景,首先让我们看一下运行效果 可以点击看看在线运行:http://hai…

    2025年12月24日 用户投稿
    600
  • 10款好看且实用的文字动画特效,让你的页面更吸引人!

    10款好看且实用的文字动画特效,让你的页面更吸引人!10款好看且实用的文字动画特效,让你的页面更吸引人!10款好看且实用的文字动画特效,让你的页面更吸引人!10款好看且实用的文字动画特效,让你的页面更吸引人!

    图片和文字是网页不可缺少的组成部分,图片运用得当可以让网页变得生动,但普通的文字不行。那么就可以给文字添加一些样式,实现一下好看的文字效果,让页面变得更交互,更吸引人。下面创想鸟就来给大家分享10款文字动画特效,好看且实用,快来收藏吧! 1、网页玻璃文字动画特效 模板简介:使用css3制作网页渐变底…

    2025年12月24日 用户投稿
    500
  • tp5如何引入css文件

    tp5引入css文件的方法:1、将css文件放在public目录下的static文件里即可;2、在页面引入中写上“”语句即可。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 其实很简单,只需要将css,js,image文件放在这个目录下即可 页…

    2025年12月24日
    300
  • 聊聊CSS 与 JS 是如何阻塞 DOM 解析和渲染的

    本篇文章给大家介绍一下css和js阻塞 dom 解析和渲染的原理。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 hello~各位亲爱的看官老爷们大家好。估计大家都听过,尽量将CSS放头部,JS放底部,这样可以提高页面的性能。然而,为什么呢?大家有考虑过么?很长一段时间,我都是知其…

    2025年12月24日
    500
  • js如何修改css样式

    js修改css样式的方法:1、使用【obj.className】来修改样式表的类名;2、使用【obj.style.cssTest】来修改嵌入式的css;3、使用【obj.className】来修改样式表的类名;4、使用更改外联的css。 本教程操作环境:windows7系统、css3版,DELL G…

    2025年12月24日
    100
  • 如何使用纯CSS、JS实现图片轮播效果

    本篇文章给大家详细介绍一下使用纯css、js实现图片轮播效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 .carousel {width: 648px;height: 400px;margin: 0 auto;text-align: center;position: a…

    2025年12月24日
    300

发表回复

登录后才能评论
关注微信