如何在Ubuntu 16.04上安装并配置Redis
发布网友
发布时间:2022-04-21 02:05
我来回答
共3个回答
懂视网
时间:2022-05-02 07:25
Redis是一个key-value存储系统。和Memcached类似,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客户端,使用很方便。
二、架构图
大致结构就是读写分离,将mysql中的数据通过触发器同步到redis中
三、安装LNMP环境
1.apt-get安装
apt-get install nginx mysql-server php
2.配置nginx,支持php
vi /etc/nginx/sites-available/default
......
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
incloude snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone;
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
......
3.重启nginx,测试
vi /var/www/html/info.php
<?php phpinfo();?>
然后访问页面看到php的相关信息,基础环境就算搭建完成了。
四、安装redis
1.安装redis和php的redis扩展
apt-get install redis-server
apt-get install git php-dev
git clone -b php7 https://github.com/phpredis/phpredis.git
cd phpredis/
phpize
./configure
make
make install
2.配置php的redis扩展
vi /etc/php/7.0/fpm/conf.d/redis.ini
extension=redis.so
3.重启fpm,访问info.php,就能看到redis扩展
/etc/init.d/php7.0-fpm restart
五、读取测试
<?php
//连接本地Redis服务
$redis=new Redis();
$redis->connect(‘localhost‘,‘6379‘) or die ("Could net connect redis server!");
//$redis->auth(‘admin123‘); //登录验证密码,返回【true | false】
$redis->ping(); //检查是否还再链接,[+pong]
$redis->select(0);//选择redis库,0~15 共16个库
//设置数据
$redis->set(‘school‘,‘WuRuan‘);
//设置多个数据
$redis->mset(array(‘name‘=>‘jack‘,‘age‘=>24,‘height‘=>‘1.78‘));
//存储数据到列表中
$redis->lpush("tutorial-list", "Redis");
$redis->lpush("tutorial-list", "Mongodb");
$redis->lpush("tutorial-list", "Mysql");
//获取存储数据并输出
echo $redis->get(‘school‘);
echo ‘<br/>‘;
$gets=$redis->mget(array(‘name‘,‘age‘,‘height‘));
print_r($gets);
echo ‘<br/>‘;
$tl=$redis->lrange("tutorial-list", 0 ,5);
print_r($tl);
echo ‘<br/>‘;
//释放资源
$redis->close();
?>
Ubuntu16.04下nginx+mysql+php+redis
标签:扩展 1.7 cat lnmp环境 new listen 搭建 技术 缓存
热心网友
时间:2022-05-02 04:33
下载、编译并安装Redis
接下来对Redis进行build。
下载并提取源代码
由于我们不需要长期保留源代码,因此可以直接在/tmp目录内进行build:
- cd /tmp
12
现在下载Redis最新版本,大家可以使用稳定下载URL:
- curl -O h//download.redis.io/redis-stable.tar.gz
12
解压tar:
- tar xzvf redis-stable.tar.gz
12
前往Redis源目录:
- cd redis-stable
12
Build并安装Redis
现在对Redis二进制代码进行编译:
- make
12
编译完成后,运行测试套件以确保built正确:
- make test
12
这一过程通常需要几分钟。完成后,大家可以使用以下命令进行安装:
- sudo make install
12
配置Redis
Redis已经安装完成,接下来进行配置。首先创建一个配置目录,这里我们使用/etc/redis目录:
- sudo mkdir /etc/redis
12
将Redis源归档文件内的示例Redis配置文件复制进来:
- sudo cp /tmp/redis-stable/redis.conf /etc/redis
12
而后打开文件并进行调整:
- sudo nano /etc/redis/redis.conf
12
在文件中找到supervised命令。现在其被设置为no。由于我们运行的操作系统使用systemd init系统,因此需要将其变更为systemd:
/etc/redis/redis.conf
. . .
# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
# supervised no - no supervision interaction
# supervised upstart - signal upstart by putting Redis into SIGSTOP mode
# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
# supervised auto - detect upstart or systemd method based on
# UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal "process is ready."
# They do not enable continuous liveness pings back to your supervisor.
supervised systemd
. . .
1234567891011121314151617
下面找到dir目录。此选项指定Redis用于放置持久数据的目录。我们需要挑选合适的位置,并确保Redis有权限写入但普通用户无权查看。
这里我们使用/var/lib/redis目录,稍后进行创建:
/etc/redis/redis.conf
. . .
# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis
. . .
12345678910111213141516
完成后保存并退出。
创建Redis systemd Unit文件
接下来,我们可以创建一个systemd unit文件,从而利用该init系统管理Redis进程。
首先创建并打开/etc/systemd/system/redis.service文件:
- sudo nano /etc/systemd/system/redis.service
12
在这里,我们在[Unit]部分处添加一条描述,定义要求网络在服务启动前必须处于可用状态:
/etc/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
After=network.target
123456
在[Service]部分,我们需要指定该服务的运作方式。出于安全考虑,我们不应以root方式运行服务。我们应当使用专用用户及群组,并以此调用redis。我们稍后再创建这部分内容。
要启动服务,我们只需要在配置中调用redis-server二进制文件。要将其关闭,则可使用Reids的shutdown命令,其可利用redis-cli加以执行。另外,由于我们希望Redis能够在故障情况下得到恢复,因此需要将Restart指令设定为“always”:
/etc/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]User=redisGroup=redisExecStart=/usr/local/bin/redis-server /etc/redis/redis.confExecStop=/usr/local/bin/redis-cli shutdownRestart=always
12345678
最后在[Install]部分,我们将systemd定义为在该服务可用时始终关联(即在引导过程中即行启动):
/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
123456789101112131415
完成后保存并退出。
热心网友
时间:2022-05-02 05:51
关羽单刀赴会关羽单刀赴会