问题描述
我正在使用Laravel,但我已经全部安装了自己的(php,mysql,composer,nginx),现在我需要安装Redis并对其进行配置,以便可以将其用于Laravel中的队列驱动程序。
如何安装,因为无法通过apt-get install redis
安装
我收到此错误:
ubuntu@ubuntu:~$ sudo apt-get install redis
[sudo] password for ubuntu:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package redis
最佳方案
我认为,如果您没有任何特殊要求,从主存储库安装总是更好(更简单)的选择。
您要搜索的包名为redis-server
。您可以使用apt show redis-server
检查其包装信息。
您也可以使用apt search redis
搜索所有提及redis的软件包,甚至可以使用grep
进行一些简单过滤,例如,使用apt search redis | grep php
搜索php-redis
或相关软件包。
So, you can simply run:
sudo apt install redis-server
on your terminal, to install a fully working
redis
(server) environment.
如果您有任何特殊要求,则始终可以从源代码构建并按照@George在其答案中发布的内容进行安装。
希望能帮助到你。
次佳方案
要安装redis,请执行以下步骤:
-
设置具有
sudo
特权的非root用户 -
安装构建和测试依赖项:
sudo apt update sudo apt full-upgrade sudo apt install build-essential tcl
-
设置redis:
-
通过此link或与此一起下载最新副本
curl -O http://download.redis.io/redis-stable.tar.gz
-
在您的
/home/username/redis-stable
目录中为此创建一个临时文件夹 -
移动到创建的文件夹并解压缩
tar xzvf redis-stable.tar.gz
-
转到文件夹
cd redis-stable
并使用make make test sudo make install
-
-
配置redis:
-
创建配置目录:
sudo mkdir /etc/redis
-
移动样本redis配置文件:
sudo cp /home/george/redis-stable/redis.conf /etc/redis
-
编辑文件:
sudo nano /etc/redis/redis.conf # or with any other text editor
-
在那里进行两个更改:从
supervised no
到supervised systemd
从dir
到dir /var/lib/redis
#进行持久性数据转储
-
-
设置系统单元文件:
sudo nano /etc/systemd/system/redis.service
添加文字:
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target
-
设置redis用户,组和目录:
创建具有相同ID但没有主目录的Redis用户和组:
sudo adduser --system --group --no-create-home redis sudo mkdir /var/lib/redis # create directory sudo chown redis:redis /var/lib/redis # make redis own /var/lib/redis sudo chmod 770 /var/lib/redis # adjust permission
-
测试重做:
-
启动redis服务:
sudo systemctl start redis
-
检查状态:
systemctl status redis
成功启动后的状态结果:
Output â redis.service - Redis Server Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2016-05-11 14:38:08 EDT; 1min 43s ago Process: 3115 ExecStop=/usr/local/bin/redis-cli shutdown (code=exited, status=0/SUCCESS) Main PID: 3124 (redis-server) Tasks: 3 (limit: 512) Memory: 864.0K CPU: 179ms CGroup: /system.slice/redis.service ââ3124 /usr/local/bin/redis-server 127.0.0.1:6379
-
测试实例:
-
连接:
redis-cli
-
在提示时测试连接性:
127.0.0.1:6379> ping # result PONG
-
检查设置键的能力:
127.0.0.1:6379 set test "It's working!" # result ok
-
获取刚刚设置的密钥:
127.0.0.1:6379 get test # result "It's working!"
-
退出redis:
127.0.0.1:6379 exit
-
重新启动redis,然后re-run步骤1、4和5再次与客户端连接,并确认您的测试值仍然可用,因此可以正常工作:
sudo systemctl restart redis
-
-
-
启用redis在启动时启动:
sudo systemctl enable redis
资源:
Digital Ocean – how to install and configure redis on Ubuntu 16.04
第三种方案
如here所述。首先将PPA存储库添加到您的操作系统,然后更新并安装存储库列表。
sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server
第四种方案
在@George’s answer之后,运行make
(第3步,第4部分),然后将cd
转换为redis-stable/utils
并运行./install_server.sh
。
此交互式脚本将帮助您定义端口和其他文件位置,然后您可以立即运行redis-cli
。
该目录还具有用于启动和停止服务器的便捷脚本。