centos7远程服务器中redis的安装与java连接
2024-10-11 11:04:06
1.下载安装redis
在远程服务器中你想下载的位置执行以下命令来下载redis文件到服务器中
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
说明:$是指你的当前目录,不是命令的一部分,wget命令用来下载网上资源,后面的地址是网上资源路径,你可以去redis官网上查找你想下载的redis版本的下载路径
解压文件
$ tar xzf redis-4.0.9.tar.gz
编译文件$ cd redis-4.0.9
$ make注意:如果在make时报错有如下原因
1.没有安装gcc(因为redis是用c写得),并且是4以上版本需要执行 yum install gcc
2.有可能也要安装gcc++,需要执行 yum install gcc++
3.如果要用make test命令测试redis,还需要安装tcl,命令为 yum install tcl2.启动redis服务和客户端
在redis-4.0.9(解压编译目录)下执行
$ src/redis-server
这样就启动了服务,界面会出项相应的启动信息
现在再来启动客户端
$ src/redis-cli 3.使用java客户端访问远程redis服务
因为redis本身默认是不支持远程地址访问的,所以我们需要先配置一下redis
1.编辑安装目录下的redis.conf文件,注释掉本地ip绑定,
#bind 127.0.0.1
2.在本地客户端中设置登录密码
$ config set requirepass mypwd
这样基本就可以啦
具体的这块配置参考:
https://www.cnblogs.com/y-l-h/p/7930085.html
https://www.cnblogs.com/machanghai/p/5497043.html 接下来在开发工具中创建maven项目,添加jedis依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
编写客户端
import redis.clients.jedis.Jedis; public class RedisTest {
public static void main(String[] args) {
//create your redis ip address
String redisIp = "";
//Connecting to Redis server on cloud server
Jedis jedis = new Jedis(redisIp);
//authentication password
jedis.auth("12358");
System.out.println("Connection to server successfully");
//check whether server is running or not
System.out.println("server is running: "+jedis.ping());
}
}
结果如下,表示连接成功
Connection to server successfully
server is running: PONG
其他问题:之前用阿里的云服务器进行redis远程连接时会报错
xception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:207)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
at redis.clients.jedis.Connection.sendCommand(Connection.java:126)
at redis.clients.jedis.Connection.sendCommand(Connection.java:117)
at redis.clients.jedis.BinaryClient.auth(BinaryClient.java:564)
at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.java:2138)
at top.pancras.redis.RedisTest.main(RedisTest.java:11)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at redis.clients.jedis.Connection.connect(Connection.java:184)
... 6 more
防火墙没有开启,不是防火墙的问题,主要在于阿里的云服务想要对外开放端口还需要在其官网进行配置才可以,参考http://www.cnblogs.com/coffee9527/p/8711906.html,把端口改成你要开放的端口应该就可以啦
最新文章
- Spring注入中byType和byName的总结
- 在object,embed上添加跳转链接(视频上添加跳转)
- js在head里插入style样式
- Atitit 修改密码的功能流程设计 attilax总结
- svn代码回滚命令
- hibernate中使用fetch来决策性能方案
- skymvc文件上传支持多文件上传
- Elasticsearch .Net Client NEST 多条件查询示例
- Servlet中获取JSP内置对象
- Maven项目下 java.lang.ClassNotFoundException 常规解决的方法
- Python---socket库
- qq安全原理
- 好代码是管出来的——C#的代码规范
- JS 面向对象 ~ 继承的7种方式
- @ResponseBody ResponseEntity
- Robot Framework+python的安装,配置,环境搭建(纯白篇)
- html基本进阶知识【转】
- Django框架之第二篇
- centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解
- ALSA学习资料
热门文章
- Python练习_装饰器、生成器_day12
- springboot2.0介绍1
- [Vuex系列] - 细说state的几种用法
- Error:Unable to start the daemon process. This problem might be caused by incorrect configuration of
- RabbitMQ中初始化ConnectionFactory常用设置属性
- C# 应用程序文件夹结构
- MySQL基础部分(一)
- Visual Studio 2017使用
- 【问题】XShell连接不上Debian root用户
- 云服务器搭建Jupyter-主要部分为配置服务器安全组