Memcached 是一种高性能、开源的内存中键值缓存服务,广泛应用于提高应用程序性能和降低运行成本,本文将详细介绍如何在 CentOS 8 系统上安装和配置 Memcached,以及如何将其与 PHP 和 Python 集成,以下是具体分析:
安装 Memcached Server
1、更新系统软件包:确保系统上的软件包是最新的,通过执行以下命令更新系统上的 DNF 缓存:
```bash
sudo dnf update y
```
2、安装 Memcached:使用以下命令安装 Memcached 及其依赖库:
```bash
sudo dnf install memcached libmemcached y
```
3、验证安装:确认 Memcached 已成功安装,可以通过以下命令查看版本信息:
```bash
rpm q memcached
```
配置 Memcached
1、配置文件路径:Memcached 的默认配置文件位于/etc/sysconfig/memcached
,可以使用任意文本编辑器打开该文件进行编辑:
```bash
sudo vi /etc/sysconfig/memcached
```
2、配置选项:配置文件中的一些常见选项包括:
PORT:定义 Memcached 服务的监听端口号,默认为 11211。
USER:设置运行 Memcached 服务的用户名,通常为memcached
。
MAXCONN:设置允许的最大连接数,默认为 1024。
CACHESIZE:设置缓存限制,单位为 MB,默认为 64。
OPTIONS:可以传递其他选项,例如l
用于定义服务监听的 IP 地址,默认为127.0.0.1
和::1
。
3、远程访问配置:如果需要从远程系统连接到 Memcached 服务器,可以将OPTIONS
参数中的l
选项修改为远程系统的 IP 地址:
```bash
sudo vi /etc/sysconfig/memcached
```
将文件中的OPTIONS="l 127.0.0.1,::1"
修改为:
```plaintext
OPTIONS="l 192.168.2.100,::1"
```
保存并退出配置文件。
配置防火墙
为了允许外部访问 Memcached 服务器,需要在防火墙上放行 11211 端口:
1、添加端口规则:
```bash
sudo firewallcmd addport=11211/tcp zone=public permanent
sudo firewallcmd reload
```
启动并启用 Memcached 服务
完成所有配置后,启动并启用 Memcached 服务:
1、启动服务:
```bash
sudo systemctl start memcached
```
2、设置开机自启:
```bash
sudo systemctl enable memcached
```
3、验证服务状态:
```bash
sudo systemctl status memcached
```
Memcached 与 PHP 集成
为了在 PHP 应用中使用 Memcached,需要安装相应的扩展:
1、安装 EPEL 和 Remi 存储库:
```bash
sudo dnf install epelrelease y
sudo dnf install https://rpms.remirepo.net/enterprise/remirelease8.rpm y
sudo dnf module enable php:remi7.4 y
```
2、安装 PHP Memcached 扩展:
```bash
sudo dnf install y phppeclmemcached phppeclmemcache
```
3、重启 Web 服务器:
```bash
sudo systemctl restart httpd.service
```
4、验证安装:创建一个包含phpinfo()
的测试页面来验证是否已启用 Memcached 扩展:
```php
<?php
phpinfo();
?>
```
将文件保存为/var/www/html/info.php
,然后在浏览器中访问http://yourserverip/info.php
,查找关于 Memcached 的部分。
六、Memcached 与 Python 集成
对于 Python 应用程序,需要安装相应的客户端库:
1、安装 pymemcache:
```bash
pip3 install pymemcache user
```
2、安装 pythonmemcached:
```bash
pip3 install pythonmemcached user
```
FAQs
问题1:Memcached 的主要用途是什么?
答:Memcached 主要用于通过缓存会话数据、用户身份验证令牌和 API 调用来加快应用程序的速度,它还可以跨多个应用程序实例共享数据,从而提高应用程序的性能和降低运行成本。
问题2:如何检查 Memcached 是否正在运行?
答:可以通过以下命令检查 Memcached 服务的状态:
```bash
sudo systemctl status memcached
```
Memcached 正在运行,你会看到类似于 "active (running)" 的状态信息。