Win通过WSL配置安装Redis

一共分为如下几步:

  • 安装WSL发行版,如Ubuntu
  • 安装Redis
  • 配置Redis与WSL

WSL安装

这里有微软官方的文档:https://learn.microsoft.com/zh-cn/windows/wsl/install
但我不建议零基础的这么做。很容易输完一些命令之后,把环境弄得乱七八糟,即使卸载重来,也挽救不了。
可以参考我早期的博客:https://blog.csdn.net/m0_49303993/article/details/128716642
接下来的操作需要用到vim。这对没接触过Linux指令的小伙伴非常不友好。这一步是为了加速后面的操作。
/etc/apt/sources.list的文件内容替换如下:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

如果你没有接触过vim,那么请按如下步骤操作:

  1. 编辑sources.list文件:sudo vim /etc/apt/sources.list
  2. 输入dG,除此之外什么都不要做
  3. 此时文件内容应该已经全部删除了,输入i,进入编辑模式
  4. 把上面的内容复制进去
  5. ESC,一般在键盘左上角
  6. 输入:wq,然后回车

直接修改

还有一种简单粗暴的方法,直接从资源管理器修改文件。
image.png
这一招可能会提示权限不足。这是因为普通用户默认没有修改这个目录下文件的权限。
可以用wsl -u <Username>修改默认用户为root,然后尝试修改文件。

安装Redis

image.png
Redis官方是不支持Windows的。
如果要直接在Win上运行,可以尝试使用第三方版本:https://github.com/tporadowski/redis/releases
要在Win上体验官方的Redis,可以尝试使用WSL。

sudo apt-get update
sudo apt-get install redis
sudo service redis-server start

配置WSL和Redis

目前只能在WSL的控制台中访问Redis。
如果要在WSL之外访问WSL里面的Redis,需要修改Redis和WSL的配置文件。

修改Redis以支持非本地访问

修改Redis配置文件sudo vim /etc/redis/redis.conf
找到bind 127.0.0.1并注释掉。注释方式是在那一行前面加个#
找到protected-mode yes,那yes改成no
重启Redissudo service redis-server restart

修改WSL为静态IP以方便访问

WSL每次开机都会为自己随机分配一个新的IP地址。
导致每次访问都需要先查看WSL的IP是啥,很不方便。
image.png
输入ipconfig,可以看到,WSL的网卡位于172.22.240.1。这个地址也会在每次开机后变化,我们需要把它固定下来。

Get-NetAdapter -IncludeHidden 'vEthernet (WSL)' | Get-NetIPAddress | Remove-NetIPAddress -Confirm:$False
New-NetIPAddress -IPAddress 172.22.240.1 -PrefixLength 24 -InterfaceAlias 'vEthernet (WSL)'
Get-NetNat | ? Name -Eq WSLNat | Remove-NetNat -Confirm:$False
New-NetNat -Name WSLNat -InternalIPInterfaceAddressPrefix 172.22.240.0/24;

你可以根据自己的情况,把上面中的ip替换掉:172.22.240.1

通过修改启动命令修改WSL网卡设置

输入sudo vim ~/.bashrc

sudo ip addr del $(ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | head -n 1) dev eth0
sudo ip addr add 172.22.240.2/24 broadcast 172.22.240.255 dev eth0
sudo ip route add 0.0.0.0/0 via 172.22.240.1 dev eth0
sudo sh -c 'echo nameserver 172.22.240.1 > /etc/resolv.conf'

重启电脑后,输入ip addr show eth0,可见当前Ubuntu的IP被固定在了172.22.240.2
image.png
在下面的ping命令中,也可以正常访问baidu.com

配置Redis端口访问

通过wsl -- hostname -I查看当前WSL的IP地址。
可以看到,当前的IP就是我们设定好的172.22.240.1
image.png
在vim中通过斜杠/搜索requirepass
把前面的注释去掉,并把后面的foobared改为自己想要的密码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/154269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网页开发如何实现简易页面跳动/跳转,html课堂练习/作业,页面ABC的相互跳转

先建一个文件夹&#xff0c;文件夹包含三个文件夹&#xff0c;三个文件夹分别包含各自的代码。(可以只建一个文件夹&#xff0c;文件夹包含各页面代码) 页面1的代码&#xff1a; <head> <meta http-equiv"Content-Type" content"text/html; charsetu…

【原创】java+swing+mysql通讯录管理系统设计与实现

前言&#xff1a; 通讯录管理系统是一个设计和实现个人或组织之间联系人信息管理的系统。该系统可能涵盖了联系人的详细信息&#xff0c;如姓名、电话号码、电子邮件地址、地址等&#xff0c;并提供了对联系人信息进行添加、删除、修改、查询等操作的功能。通讯录管理系统旨在…

FISCOBCOS入门(十)Truffle自定义测试helloworld

在windos终端内安装truffle npm install -g truffle truffle --version 出现上图情况也没问题 下面就可以进行我们的操作了 创建一个文件truffle 创建一个空工程 truffle init 在contracts内加入HelloWorld合约 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; c…

基于Vue+SpringBoot的天然气工程运维系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司&#xff08;施工单位&#xff09;功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3…

Linux发展史与环境安装

Linux发展史与环境安装 一、Linux发展史推动技术进步的基本模式理解操作系统的发展理解Linux操作系统的发展 一、Linux的环境安装 一、Linux发展史 Linux和window XX其实都是一样的&#xff0c;定位&#xff1a;操作系统&#xff0c;企业内部&#xff0c;要给用户提供“互联网…

ping命令使用示例解析

【一】ping命令简介 ping &#xff08;Packet Internet Groper&#xff09;是一种因特网包探索器&#xff0c;用于测试网络连接量的程序。ping的一般用途有&#xff1a; ①【测试网络物理链路是否正常】&#xff1a;通过将ICMP(Internet控制消息协议)回显数据包发送到网络终端&…

Nacos安装指南

Nacos安装指南 1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的GitHub页面&#xff0c;提供有下载链接&#xff0c;可以下载编译好的Nacos服务端或者源代码&#xff1a; GitHub主页&#xff1a;https://github.com/alibaba/nacos GitHub的Release下载…

JVM——运行时数据区(堆+方法区+直接内存)

目录 1.Java堆2.方法区**方法区&#xff08;Method Area&#xff09;溢出**方法区&#xff08;Method Area&#xff09;字符串常量池静态变量的存储 3.直接内存(Direct Memory) 1.Java堆 ⚫ 一般Java程序中堆内存是空间最大的一块内存区域。创建出来的对象都存在于堆上。 ⚫ 栈…

leetcode - 串联所有单词的子串 - 最小覆盖子串 - x 的平方根

I30. 串联所有单词的子串 - 力扣&#xff08;LeetCode&#xff09; 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words ["ab&qu…

如何成为自信出色的演讲者?10条实用技巧助你登台亮相!

成为自信出色的演讲者需要长期练习和学习。以下是我总结的10条实用技巧&#xff1a; 了解你的观众 一个成功的演讲需要考虑观众的背景和需要。你需要了解他们的行业、兴趣和问题。这样可以帮助你调整内容和表达方式&#xff0c;让观众感兴趣并获得价值。你也可以事先收集一些…

PyCharm 远程连接服务器并使用服务器的 Jupyter 环境

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

架构师修炼之道

相信大家都对未来的职业发展有着憧憬和规划&#xff0c;要做架构师、要做技术总监、要做CTO。对于如何实现自己的职业规划也都信心满满&#xff0c;努力工作、好好学习、不断提升自己。 相信成为一名优秀的架构师是很多程序员的目标&#xff0c;架构师的工作包罗万象&#xff…

【星海出品】云存储 ceph

https://ceph.com/en/ ceph组件介绍 Monitor 一个Ceph集群需要多个Monitor组成的小集群&#xff0c;它们通过Paxos同步数据&#xff0c;用来保存OSD的元数据。 OSD OSD全称Object Storage Device&#xff0c;也就是负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有…

C#winform门诊医生系统+sqlserver

C#winform门诊医生系统sqlserver说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a;基于C#winform架构和sql server数据库 功能模块&#xff1a; 个人中心&#xff1a;修改个人信息、打开照片并进行修改 预约挂号&#xff1a;二级…

那些年我们追过的 内部类

目录 1. 什么是内部类&#xff1f; 2. 内部类的分类 3. 内部类 3.1 实例内部类 3.2 静态内部类 4. 局部内部类 5. 匿名内部类 6.对象的打印 “不积跬步无以至千里&#xff0c;不积小流无以成江海。”每天坚持学习&#xff0c;哪怕是一点点&#xff01;&#xff01;&a…

SQL题

[极客大挑战 2019]EasySQL 进行简单的尝试&#xff0c;就知道是单引号的字符型注入 万能密码进行一个简单的尝试 结果就出来了 还是要了解一下原理 输入的是1&#xff0c;形成的sql语句是错误的SELECT*FROM table_name WHERE username1and password123; 第一个单引号和第二个…

【2023最全教程】python+appium自动化测试元素定位(建议收藏)

关于app自动化测试&#xff0c;元素定位工具有三个&#xff1a; appium自带的Appium Inspector工具 Android ADT原生的工具 python版uiautomator2中的weditor 由于我常用的是前两个&#xff0c;所以下面只介绍前面两种元素定位工具&#xff08;以下内容中均以微博为例子&am…

centos的root密码忘记或失效的解决办法

目录 前言1 单机维护模式2 利用具有管理员权限的用户切换到root用户3 救援模式 前言 在Linux系统中&#xff0c;root用户是最高权限的用户&#xff0c;可以执行任何命令和操作。但是&#xff0c;如果我们忘记了root用户的密码&#xff0c;或者需要修改root用户的密码&#xff…

Vue-Pinia

目录 Pinia状态管理库 使用步骤 1、安装Pinia 2、在vue应用实例中使用pinia 3、在src/stores/token.js中定义stores 4、在组件中使用store axios请求拦截器 代码实现 Pinia状态管理库 Pinia是Vue的专属状态管理库&#xff0c;它允许你跨组件或页面共享状态 一般在登录时…

Java 各种工具类的使用方法

1. 属性拷贝 属性名词和类型相同才能拷贝 import org.springframework.beans.BeanUtils; BeanUtils.copyProperties(dto,wmNews); //dto, wmNews 是两个实体类 dto为源对象&#xff0c;wmNews为目标对象2. list集合转换为string类型 import org.apache.commons.lang3.String…