php远程连接ubuntu下的redis

lnmp安装参考https://lnmp.org/install.html
虚拟机中安装lnmp不需要screen wget,直接https://lnmp.org/download.html找对应版本下载,比如http://soft.vpser.net/lnmp/lnmp1.5-full.tar.gz
然后解压,
tar zxf lnmp1.5.tar.gz 
cd lnmp1.5 

./install.sh lnmp

安装过程会提示选择哪个版本的数据库和服务器,选择默认即可,反正我要用的是redis


安装了lnmp之后
nginx 目录在/usr/local/nginx
mysql 目录在/usr/local/mysql
php   目录在/usr/local/php


nginx配置文件是/usr/local/nginx/conf/nginx.conf

php配置文件是/usr/local/php/etc/php.ini


http://localhost访问的目录在/home/WWWroot/default


***************************************************************************************************


安装dredis
进入lnmp的解压目录
执行./addons install redis
redis安装目录在/usr/local/redis
服务是/usr/local/redis/bin/redis-server
客户端是/usr/local/redis/bin/redis-cli,用来访问本机和远程redis数据库


关闭redis
./redis-cli shutdown
如果提示失败(error) ERR Errors trying to SHUTDOWN. Check logs.
则要修改redis.conf  在/usr/local/redis/etc/redis.conf
找到 logfile ""
修改为 logfile "/usr/local/redis/redis_log/redis_log.log"
不存在redis_log目录则手动创建,并修改权限为777. 即chomd 777 ./redis_log


找到 dir ./
修改为 dir /usr/local/redis/redis_dbfile/
不存在redis_dbfile 则手动创建,并修改权限为777


此时./redis-cli shutdown可能还是要报错,强制杀死进程 kill -9 (redis-server的进程id)
kill -9 是强制结束进程
redis-server的进程id可以通过命令ps aux | grep redis找到


启动redis
./redis-server & (带参& 表示后台启动,启动后可能需要手动敲一下回车才能回到终端)
linux中其他命令带参数写完后带上&也可以异步启动,如nautilus /usr/local/nginx/ &

再次./redis-cli可以关闭redis服务了


***************************************************************************************************


客户端连接redis
./redis-cli默认连接127.0.0.1


远程连接本机redis
尝试使用./redis-cli -h 本机ip, 如果连不上,则远程访问也连不上
修改redis.conf
找到protected-mode yes
修改为protected-mode no


找到bind 127.0.0.1
修改为 bind 0.0.0.0


关闭redis服务./redis-cli shutdown
启动redis服务./redis-server


再次使用ip访问服务
./redis-cli -h 本机ip
不是显示127.0.0.1:6379>就ok了,可以远程访问了
应该显示 本机ip:6379>


6379是默认端口号


***************************************************************************************************


安装php redis扩展
下载地址http://pecl.php.net/package/redis
下载对应版本
解压tar zxf ./redis-4.0.2.tgz


cd redis-4.0.2 
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
然后修改php.ini
php.ini目录是/usr/local/php/etc/php.ini
最后一行加上extension=redis.so


重启服务
service nginx restart


service php-fpm restart


***************************************************************************************************


远程redis->connect()返回false
可是protectedmode和bind都设置了的,不知道什么鬼
机缘巧合下看到防火墙相关的设置
执行iptables -F
终于connect连接返回true了
不知道跟ubuntu里面安装了php的redis扩展有关,我是在尝试无果的情况下,直接用ubuntun当服务器,安装lnmmp+redis+php的redis扩展,还执行过setsebool -P httpd_can_network_connect=1(setsebool可能会notfound),然后尝试了iptables -F才成功的

猜你喜欢

转载自blog.csdn.net/youyudexiaowangzi/article/details/80931419
今日推荐