Linux 环境下 Redis 详细安装教程:从入门到精通
欢迎来到本篇关于在 Linux 系统上安装 Redis 的详细教程。Redis 作为一款高性能的键值对数据库,因其闪电般的速度和丰富的数据结构,已成为缓存、消息队列、实时分析等众多应用场景的首选工具。无论您是开发者、系统管理员,还是对数据库技术感兴趣的爱好者,掌握在 Linux 环境下安装和配置 Redis 都是一项非常有用的技能。
本教程将带您一步步完成 Redis 的安装过程,涵盖最常见的两种方法:使用包管理器安装(推荐用于快速部署和日常使用)和从源码编译安装(适合需要最新版本、特定配置或希望深入了解的用户)。我们将详细讲解每一步的操作、可能遇到的问题以及相关的配置选项。
目录
-
Redis 简介
- 什么是 Redis?
- 为什么选择 Redis?
- Redis 的主要用途
-
准备工作
- 系统要求
- 用户权限
- 网络连接
- 基本的 Linux 命令行知识
-
方法一:使用包管理器安装 (推荐)
- 优点与缺点
- 基于 Debian/Ubuntu 的系统 (apt)
- 更新软件源
- 安装 Redis 服务器
- 验证安装
- 服务管理 (systemd)
- 基于 RHEL/CentOS/Fedora 的系统 (yum/dnf)
- 更新软件源
- 安装 Redis 服务器
- 配置开机自启
- 验证安装
- 服务管理 (systemd)
- 其他 Linux 发行版
-
方法二:从源码编译安装 (更灵活)
- 优点与缺点
- 安装编译依赖
- 下载 Redis 源码
- 解压源码包
- 编译 Redis
- 运行测试 (可选但强烈推荐)
- 安装 Redis 可执行文件
- 使用安装脚本设置服务 (强烈推荐)
- 运行安装脚本
- 脚本配置项说明
- 手动设置服务 (了解)
-
Redis 基本配置
- 配置文件位置
- 常用的配置项说明
bind
(绑定 IP)protected-mode
(保护模式)port
(端口号)daemonize
(后台运行)logfile
(日志文件)dir
(工作目录)save
(RDB 持久化)appendonly
(AOF 持久化)requirepass
(设置密码)
-
运行、停止和管理 Redis
- 使用
systemctl
(对于通过包管理器或安装脚本安装)- 启动
- 停止
- 重启
- 查看状态
- 设置开机自启
- 手动运行 Redis (从源码手动安装)
- 前台运行
- 后台运行
- 使用
-
连接和测试 Redis
- 使用
redis-cli
客户端- 连接本地 Redis
- 连接远程 Redis (带密码)
- 执行基本命令 (PING, SET, GET)
- 查看服务器信息 (INFO)
- 使用
-
防火墙配置
- 开放 Redis 端口 (默认为 6379)
- UFW (Ubuntu/Debian)
- Firewalld (CentOS/RHEL/Fedora)
- 开放 Redis 端口 (默认为 6379)
-
故障排除
- 检查日志文件
- 确认服务状态
- 检查端口占用
- 防火墙问题
-
总结
1. Redis 简介
什么是 Redis?
Redis (Remote Dictionary Server) 是一个开源的、使用 C 语言编写的、基于内存的高性能键值对数据库。与传统的关系型数据库(如 MySQL、PostgreSQL)不同,Redis 将数据存储在内存中,这使得它能够提供非常高的读写速度。同时,Redis 支持多种数据结构,包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等,这些丰富的数据类型使其应用场景非常广泛。
为什么选择 Redis?
- 极高的性能: 数据存储在内存中,读写速度可以达到数十万甚至数百万次每秒。
- 支持多种数据结构: 不仅仅是简单的键值对,还可以方便地处理复杂的数据结构。
- 原子性操作: Redis 的所有操作都是原子性的,保证了数据的一致性。
- 持久化选项: 虽然是内存数据库,但 Redis 提供了 RDB 和 AOF 两种持久化机制,可以将数据保存到硬盘,保证数据在服务器重启后不丢失。
- 丰富的功能: 支持发布/订阅、事务、Lua 脚本、各种级别的持久化、LRU 淘汰策略、自动故障转移等。
- 高可用和扩展性: 通过主从复制、Sentinel 和 Cluster 机制可以实现高可用和水平扩展。
Redis 的主要用途
- 缓存 (Caching): 这是 Redis 最常见的用途,将热点数据存储在 Redis 中,减轻数据库压力,提高访问速度。
- 会话存储 (Session Store): 存储用户会话信息。
- 消息队列 (Message Queue): 利用列表(List)或发布/订阅(Pub/Sub)功能实现简单的消息队列。
- 排行榜/计数器: 利用有序集合(Sorted Set)和 incr/decr 命令实现排行榜和计数器。
- 实时分析 (Real-time Analytics): 快速处理和统计实时数据。
- 分布式锁 (Distributed Locks): 利用 Redis 的原子性操作实现分布式环境下的锁机制。
2. 准备工作
在开始安装之前,请确保您已经做好以下准备:
- 系统要求: 一台运行 Linux 操作系统的服务器或虚拟机。本教程将以常见的 Debian/Ubuntu 和 RHEL/CentOS/Fedora 系统为例进行说明。确保系统是稳定且最新的版本可以减少兼容性问题。
- 用户权限: 具有
root
用户权限或属于sudo
用户组的用户。大多数安装步骤需要管理员权限。 - 网络连接: 确保您的 Linux 服务器可以访问互联网,以便下载软件包或源码。
- 基本的 Linux 命令行知识: 熟悉如何在终端中输入命令、使用
cd
、ls
、tar
、wget
或curl
等基本操作。
3. 方法一:使用包管理器安装 (推荐)
这是在 Linux 上安装 Redis 最简单、最快捷的方式。通过系统的包管理器(如 apt
或 yum/dnf
),您可以轻松下载、安装和管理 Redis,并且系统会自动处理依赖关系。
优点与缺点
- 优点: 简单快捷,依赖自动解决,易于更新和卸载,与系统服务集成良好(通常会自动设置 systemd 或 init 脚本)。
- 缺点: 通过包管理器安装的 Redis 版本可能不是最新的稳定版,具体版本取决于您的 Linux 发行版仓库。
基于 Debian/Ubuntu 的系统 (apt)
这些系统包括 Ubuntu、Debian、Linux Mint 等。
-
更新软件源列表:
在安装任何新软件包之前,最好先更新系统的软件源列表,以确保您能获取到最新的软件包信息。bash
sudo apt update这个命令会连接到配置的软件仓库,下载最新的软件包列表。
-
安装 Redis 服务器:
更新完成后,就可以使用apt
命令安装redis-server
包了。bash
sudo apt install redis-server系统会提示您确认安装及所需的额外空间。输入
y
并按回车即可开始下载和安装。安装过程会自动处理 Redis 的依赖,并将 Redis 安装为系统服务。 -
验证安装:
安装完成后,Redis 服务通常会自启动。您可以使用以下命令检查 Redis 服务的状态:bash
sudo systemctl status redis-server如果服务正在运行,您应该能看到输出中显示
active (running)
。您也可以通过 Redis 客户端连接到服务器并发送PING
命令来验证:bash
redis-cli ping如果返回
PONG
,说明 Redis 服务器正在正常运行并且可以连接。 -
服务管理 (systemd):
通过apt
安装的 Redis 通常会使用 systemd 进行管理。常用的 systemd 命令如下:- 启动 Redis 服务:
sudo systemctl start redis-server
- 停止 Redis 服务:
sudo systemctl stop redis-server
- 重启 Redis 服务:
sudo systemctl restart redis-server
- 查看服务状态:
sudo systemctl status redis-server
- 设置 Redis 服务开机自启:
sudo systemctl enable redis-server
- 禁用 Redis 服务开机自启:
sudo systemctl disable redis-server
- 启动 Redis 服务:
基于 RHEL/CentOS/Fedora 的系统 (yum/dnf)
这些系统包括 CentOS、RHEL、Fedora、Oracle Linux 等。自 Fedora 22 和 CentOS/RHEL 8 以来,dnf
成为了默认的包管理器,但在较老的系统上仍使用 yum
。命令用法类似,您可以根据您的系统版本选择使用 yum
或 dnf
。
-
更新软件源列表:
同样,先更新系统软件包列表。“`bash
对于 CentOS/RHEL 7 或更早版本
sudo yum update
对于 CentOS/RHEL 8+ 或 Fedora
sudo dnf update
“` -
安装 Redis 服务器:
更新完成后,使用yum
或dnf
安装 Redis 包。“`bash
对于 CentOS/RHEL 7 或更早版本
sudo yum install redis
对于 CentOS/RHEL 8+ 或 Fedora
sudo dnf install redis
“`系统会提示确认安装,输入
y
并回车。 -
配置开机自启 (如果需要):
在某些系统上,安装后服务不会立即设置为开机自启,您可能需要手动启用。bash
sudo systemctl enable redis
请注意,包名可能是redis
而不是redis-server
。 -
验证安装:
安装完成后,启动 Redis 服务并检查状态。bash
sudo systemctl start redis
sudo systemctl status redis如果服务正在运行,您应该能看到
active (running)
。同样,可以使用redis-cli
验证:bash
redis-cli ping返回
PONG
表示正常。 -
服务管理 (systemd):
与 Debian/Ubuntu 类似,使用 systemd 进行服务管理:- 启动 Redis 服务:
sudo systemctl start redis
- 停止 Redis 服务:
sudo systemctl stop redis
- 重启 Redis 服务:
sudo systemctl restart redis
- 查看服务状态:
sudo systemctl status redis
- 设置 Redis 服务开机自启:
sudo systemctl enable redis
- 禁用 Redis 服务开机自启:
sudo systemctl disable redis
- 启动 Redis 服务:
其他 Linux 发行版
如果您使用其他发行版(如 Arch Linux、openSUSE 等),请查阅该发行版的文档,使用对应的包管理器(如 pacman
、zypper
等)安装 Redis。通常包名也是 redis
或 redis-server
。
4. 方法二:从源码编译安装 (更灵活)
从源码编译安装 Redis 可以让您安装最新版本的 Redis,或者进行一些定制化的编译选项。这个过程相对复杂一些,但提供了更大的灵活性。
优点与缺点
- 优点: 可以获取最新的稳定版,可以进行自定义编译,有助于理解安装过程。
- 缺点: 需要手动安装编译依赖,过程相对复杂,需要手动配置服务管理,更新时也需要重复编译过程。
安装编译依赖
在编译 Redis 之前,您需要安装一些必要的编译工具和库。
-
对于 Debian/Ubuntu 系统:
bash
sudo apt update
sudo apt install build-essential tcl
build-essential
包含 GCC 编译器、make 工具等。tcl
(Tool Command Language) 是 Redis 官方用来运行自动化测试的语言,虽然不是 运行 Redis 必需,但强烈建议安装以便运行make test
。 -
对于 RHEL/CentOS/Fedora 系统:
“`bash
对于 CentOS/RHEL 7 或更早版本
sudo yum groupinstall “Development Tools”
sudo yum install tcl对于 CentOS/RHEL 8+ 或 Fedora
sudo dnf groupinstall “Development Tools”
sudo dnf install tcl
``
Development Tools` 组包含了 GCC、make 等必要的编译工具。
下载 Redis 源码
访问 Redis 官方网站 redis.io/download 获取最新稳定版源码包的下载链接。通常是一个 .tar.gz
压缩包。使用 wget
或 curl
下载到您的服务器上。
“`bash
cd /tmp/ # 进入一个临时目录
wget http://download.redis.io/releases/redis-x.y.z.tar.gz # 将 x.y.z 替换为最新的版本号
或者使用 curl
curl -O http://download.redis.io/releases/redis-x.y.z.tar.gz
“`
请务必使用官网提供的最新稳定版链接。
解压源码包
下载完成后,解压源码包。
bash
tar -xzf redis-x.y.z.tar.gz
解压会生成一个以版本号命名的目录,例如 redis-x.y.z
。进入这个目录:
bash
cd redis-x.y.z
编译 Redis
进入源码目录后,只需运行 make
命令即可编译 Redis。
bash
make
make
命令会读取 Makefile
文件,并执行编译过程。如果一切顺利,您应该会看到编译成功的提示信息。编译成功后,在 src
目录下会生成 Redis 的可执行文件,包括 redis-server
(服务器端)、redis-cli
(客户端) 等。
运行测试 (可选但强烈推荐)
为了确保 Redis 在您的系统上能够正常工作且没有兼容性问题,强烈建议运行 Redis 提供的自动化测试。这个步骤需要前面安装的 tcl
。
bash
make test
make test
命令会执行一系列测试用例。测试可能需要几分钟时间。如果所有测试都通过,您会看到类似 \o/ All tests passed! \o/
的信息。如果测试失败,请检查错误信息,可能是缺少依赖、系统兼容性问题或其他原因。在生产环境部署前,通过所有测试至关重要。
安装 Redis 可执行文件
编译和测试通过后,可以将 Redis 的可执行文件安装到系统的可执行路径中。通常使用 make install
命令,它会将 redis-server
、redis-cli
等文件复制到 /usr/local/bin
目录下。
bash
sudo make install
如果您想安装到其他位置,可以使用 PREFIX
参数:
bash
sudo make install PREFIX=/opt/redis
这将把文件安装到 /opt/redis/bin
、/opt/redis/etc
等子目录下。在本教程后续部分,我们假设安装到了默认的 /usr/local
路径。
至此,Redis 的核心可执行文件已经安装完毕,您可以在任何地方通过 redis-server
和 redis-cli
命令来启动和连接 Redis。但这种方式启动的 Redis 默认在前台运行,并且没有配置服务管理,不适合生产环境。为了像通过包管理器安装那样方便地管理 Redis 服务,我们推荐使用 Redis 提供的安装脚本。
使用安装脚本设置服务 (强烈推荐)
Redis 源码包提供了一个非常有用的安装脚本 install_server.sh
(位于 utils
目录下),它可以帮助您设置 Redis 的配置文件、数据目录、日志文件,并创建 systemd 或 init.d 服务脚本,使得 Redis 可以作为系统服务运行。
-
运行安装脚本:
进入之前解压的 Redis 源码目录,然后运行脚本。bash
cd utils/
sudo ./install_server.sh -
脚本配置项说明:
脚本会以交互方式询问您一系列配置选项,您可以根据需求进行选择,或直接按回车接受默认值。- Port: Redis 监听的端口号 (默认为 6379)。
- Config file path: Redis 配置文件的保存路径 (默认为
/etc/redis/端口号.conf
)。 - Log file path: Redis 日志文件的保存路径 (默认为
/var/log/redis/端口号.log
)。 - Data directory path: Redis 数据存储目录 (默认为
/var/lib/redis/端口号
)。 - Executable path: Redis 可执行文件
redis-server
的路径 (默认为/usr/local/bin/redis-server
,这是前面make install
的默认位置)。
完成配置后,脚本会创建指定的文件和目录,并设置 systemd unit 或 init.d 脚本。
成功运行脚本后,Redis 服务就会被创建并启动。您可以使用前面提到的
systemctl
命令来管理这个服务(服务名通常是redis_端口号
,例如redis_6379
)。bash
sudo systemctl status redis_6379
手动设置服务 (了解)
如果您不使用 install_server.sh
脚本,理论上您也可以手动创建配置文件和 systemd unit 文件来管理 Redis。但这过程比较繁琐,需要手动创建用户、设置文件权限、编写 systemd unit 文件等。对于大多数用户来说,使用 install_server.sh
是更好的选择。
5. Redis 基本配置
无论您是通过包管理器安装还是从源码编译并通过脚本设置服务,Redis 都会有一个主要的配置文件。理解这个文件是优化和安全地运行 Redis 的关键。
- 配置文件位置:
- 通过包管理器安装:通常在
/etc/redis/redis.conf
。 - 从源码编译并通过
install_server.sh
安装:通常在/etc/redis/端口号.conf
。 - 从源码编译手动配置:取决于您自己放置的位置。
- 通过包管理器安装:通常在
使用文本编辑器打开配置文件进行修改,例如使用 nano
或 vim
:
“`bash
sudo nano /etc/redis/redis.conf
或
sudo vim /etc/redis/redis.conf
“`
修改配置后,需要重启 Redis 服务才能生效。
bash
sudo systemctl restart redis-server # 或对应的服务名
常用的配置项说明
配置文件中的选项非常多,这里介绍几个最重要和最常用的:
-
bind 127.0.0.1
指定 Redis 监听的网络接口 IP 地址。默认只绑定到本地回环地址127.0.0.1
,这样 Redis 只能被本机访问,这是最安全的设置。如果您需要从其他机器访问 Redis,需要将其修改为服务器的内网 IP 或公网 IP。警告: 如果绑定到公网 IP,请务必设置密码并配置防火墙,否则您的 Redis 实例将暴露在互联网上,非常危险! -
protected-mode yes
保护模式。当设置为yes
时,如果 Redis 没有设置密码且绑定的是公共网络接口(非 127.0.0.1),则只允许本地客户端连接。这是 Redis 3.2 引入的安全特性,默认是开启的。如果您需要从远程访问且没有设置密码,需要将此项设置为no
,但这非常不安全,强烈不推荐。 -
port 6379
Redis 监听的 TCP 端口号。默认端口是 6379。 -
daemonize yes
指定 Redis 是否以后台守护进程方式运行。通过包管理器或install_server.sh
安装的服务通常会将此项设置为yes
。如果手动启动 Redis 且需要它在后台运行,应设置为yes
。如果设置为no
,Redis 将在前台运行,关闭终端会话会终止 Redis 进程。 -
logfile /var/log/redis/redis-server.log
指定日志文件路径。对于调试和监控非常重要。确保 Redis 运行用户有写入该目录的权限。 -
dir /var/lib/redis
指定 Redis 的工作目录。RDB 快照文件和 AOF 文件默认会保存在这个目录。 -
save <seconds> <changes>
配置 RDB 持久化策略。例如save 900 1
表示在 900 秒(15 分钟)内至少有 1 个键被修改时,执行一次 RDB 快照。您可以配置多个save
规则。注释掉所有save
行可以禁用 RDB 持久化。 -
appendonly no
配置是否开启 AOF (Append Only File) 持久化。AOF 以追加的方式记录每个写操作命令。设置为yes
开启 AOF。AOF 提供了比 RDB 更高的数据安全性,但文件通常比 RDB 大。 -
requirepass your_password_here
设置连接 Redis 时的密码。出于安全考虑,强烈建议为 Redis 设置密码,尤其当 Redis 绑定到非本地地址时。将your_password_here
替换为一个强密码。设置密码后,客户端连接时需要使用AUTH
命令或在redis-cli
中使用-a
参数进行认证。
6. 运行、停止和管理 Redis
使用 systemctl
(对于通过包管理器或安装脚本安装)
这是管理作为系统服务运行的 Redis 的标准方法。
-
启动 Redis 服务:
bash
sudo systemctl start redis-server # 或 systemctl start redis 或 systemctl start redis_6379 -
停止 Redis 服务:
bash
sudo systemctl stop redis-server # 或 systemctl stop redis 或 systemctl stop redis_6379
Redis 会执行一次持久化操作再优雅地关闭。 -
重启 Redis 服务:
bash
sudo systemctl restart redis-server # 或 systemctl restart redis 或 systemctl restart redis_6379 -
查看服务状态:
bash
sudo systemctl status redis-server # 或 systemctl status redis 或 systemctl status redis_6379
查看服务是否正在运行、进程 ID、加载的配置文件等信息。 -
设置开机自启:
bash
sudo systemctl enable redis-server # 或 systemctl enable redis 或 systemctl enable redis_6379
这会在系统启动时自动启动 Redis 服务。
手动运行 Redis (从源码手动安装)
如果您没有使用 install_server.sh
脚本设置服务,可以手动启动 Redis。
-
前台运行 (用于测试或调试):
bash
redis-server /path/to/your/redis.conf
或者,如果您没有配置文件,可以使用默认配置启动:
bash
redis-server
在这种模式下,Redis 会在前台运行,输出日志到终端。关闭终端会终止 Redis。 -
后台运行 (守护进程模式):
确保您的配置文件中daemonize yes
选项已开启。
bash
redis-server /path/to/your/redis.conf
Redis 会启动一个守护进程,并将 PID 写入配置文件中指定的 PID 文件(默认在/var/run/redis_端口号.pid
或工作目录下)。要停止后台运行的 Redis,可以使用redis-cli shutdown
命令连接到 Redis 实例并发送关机指令,或者使用kill
命令终止其进程。
7. 连接和测试 Redis
Redis 提供了 redis-cli
命令行客户端,用于连接 Redis 服务器并执行命令。
-
使用
redis-cli
客户端:
安装 Redis 时,redis-cli
可执行文件也会被安装(通常在/usr/local/bin
或/usr/bin
)。 -
连接本地 Redis (默认端口 6379):
如果 Redis 运行在与客户端同一台机器的默认端口上:
bash
redis-cli
进入 Redis 命令行界面后,提示符会变成127.0.0.1:6379>
。 -
连接远程 Redis 或指定端口:
bash
redis-cli -h <host> -p <port>
将<host>
替换为 Redis 服务器的 IP 地址,<port>
替换为 Redis 监听的端口号。 -
连接带密码的 Redis:
如果在配置文件中设置了requirepass
,连接时需要认证。
一种方式是在连接后使用AUTH
命令:
bash
redis-cli
AUTH your_password_here
PING # 认证成功后才能执行命令
另一种方式是在连接时直接带上密码参数:
bash
redis-cli -a your_password_here -
执行基本命令:
连接成功后,您可以在redis-cli
提示符下执行 Redis 命令:
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> SET mykey "Hello Redis!"
OK
127.0.0.1:6379> GET mykey
"Hello Redis!"
127.0.0.1:6379> INFO # 查看服务器详细信息
# Server
redis_version:x.y.z
...
127.0.0.1:6379> QUIT # 退出客户端
8. 防火墙配置
如果您需要从其他机器访问 Redis 服务,除了将 bind
配置项修改为非 127.0.0.1
的 IP 地址外,还需要在服务器的防火墙中开放 Redis 监听的端口(默认为 6379)。
不同的 Linux 发行版使用不同的防火墙管理工具。
-
对于使用 UFW (Uncomplicated Firewall) 的系统 (如 Ubuntu/Debian):
bash
sudo ufw status # 查看防火墙状态
sudo ufw allow 6379/tcp # 开放 6379 端口 (TCP 协议)
sudo ufw enable # 如果防火墙未启用则启用它
sudo ufw status # 再次查看状态确认规则已添加 -
对于使用 Firewalld 的系统 (如 CentOS/RHEL/Fedora 7+):
bash
sudo systemctl status firewalld # 查看 Firewalld 状态
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent # 在 public 区域永久添加 6379 TCP 端口
sudo firewall-cmd --reload # 重新加载防火墙规则使更改生效
sudo firewall-cmd --zone=public --list-ports # 查看 public 区域开放的端口
9. 故障排除
如果在安装或运行过程中遇到问题,可以尝试以下步骤进行故障排除:
- 检查日志文件: 查看 Redis 的日志文件 (
logfile
配置项指定的路径)。日志文件通常包含启动错误、运行时警告或错误信息。 - 确认服务状态: 使用
systemctl status redis-server
(或对应的服务名) 命令检查 Redis 服务是否正在运行,以及是否有启动失败的错误信息。 - 检查端口占用: 使用
sudo netstat -tulnp | grep 6379
或sudo ss -tulnp | grep 6379
命令检查是否有其他进程占用了 Redis 默认的 6379 端口。 - 防火墙问题: 确认服务器防火墙(以及网络中的其他防火墙)允许来自客户端 IP 地址的 Redis 端口连接。
- 配置文件错误: 检查 Redis 配置文件语法是否有误,或者某些配置项设置不正确。启动失败时通常会在日志或服务状态中报告配置文件错误。
- 权限问题: 确保 Redis 进程的用户对配置文件、数据目录和日志文件目录有读写权限。
10. 总结
本篇教程详细介绍了在 Linux 环境下安装 Redis 的两种主要方法:使用包管理器和从源码编译。
- 对于大多数用户和生产环境,推荐使用包管理器安装,它简单快捷,易于维护,并与系统服务管理器良好集成。
- 对于需要最新版本或特定编译选项的高级用户,从源码编译安装提供了更大的灵活性,并且
install_server.sh
脚本可以帮助您快速将其设置为系统服务。
无论选择哪种方法,安装完成后都应该进行基本的配置(特别是关于安全性和持久化)和连接测试。同时,不要忘记配置防火墙以确保网络安全和可访问性。
掌握了在 Linux 上安装 Redis 的技能,您就可以开始探索 Redis 的强大功能,将其应用于您的项目或服务器中了。祝您使用愉快!