Microsoft Store上 看到最新的Ubuntu 20.04 LTS 已经适配到WSL上了, 于是卸载了老版本 18.04 LTS,安装上了最新版本的。

第一次启动会比较慢,需耐心等待

Installing, this may take a few minutes...

看了下WSL的官方文档,发现WSL对各种数据库的支持(Ref-1)还真是蛮全的。 更让我惊喜的是WSL和Window其实可以互操作(Ref-2): 既可以从 Windows 命令行运行 Linux 工具,也可以从 Linux 命令行运行 Windows 工具。以前一直以为WSL只是提供了 Linux 模拟环境,可以让使用 Windows 的开发人员敲敲 Linux 命令,哈哈,认识真的太浅薄了。这对于Redis尤其有用,再也不用安装万年不变的3.2.100(Ref-3)了(当然了,你也可以在Docker使用Redis)。

启动运行Redis,解决启动问题

安装好Redis以后,在WSL中运行Redis

root@WSL:~# redis-server --version
Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923 root@WSL:~# sudo service redis-server start
Starting redis-server: redis-server. root@WSL:~# redis-cli
127.0.0.1:6379> set Redis "Hello Redis!"
OK
127.0.0.1:6379> get Redis
"Hello Redis!"

设置Redis在后台运行,并查看当前进程(有两个Redis实例在运行)

root@WSL:~# redis-server --daemonize yes
1738:C 16 Aug 2020 18:03:11.055 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1738:C 16 Aug 2020 18:03:11.055 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=1738, just started
1738:C 16 Aug 2020 18:03:11.056 # Configuration loaded root@WSL:~# ps -aux --sort=tty,command
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 8892 284 ? Ssl 17:34 0:00 /init
redis 1602 0.0 0.0 61300 3836 ? Ssl 17:44 0:00 /usr/bin/redis-server 127.0.0.1:6379
root 1739 0.0 0.0 55668 2828 ? Ssl 18:03 0:00 redis-server *:6379
kevin 1643 0.0 0.0 18076 3528 tty1 S 17:46 0:00 -bash
root 1721 0.0 0.0 18080 3516 tty1 S 17:59 0:00 -bash
root 1642 0.0 0.0 8900 204 tty1 Ss 17:46 0:00 /init
root 1743 0.0 0.0 18880 1996 tty1 R 18:06 0:00 ps -aux --sort=tty,command
root 1720 0.0 0.0 18908 2680 tty1 S 17:59 0:00 sudo -i

把玩了一番,发现Redis无法启动,搜了以下,通过删除/var/run/redis/redis-server.pid 解决了问题。

root@WSL:~# sudo service redis-server start
Starting redis-server: start-stop-daemon: matching on world-writable pidfile /var/run/redis/redis-server.pid is insecurefailed root@WSL:~# rm -f /var/run/redis/redis-server.pid root@WSL:~# sudo service redis-server start
Starting redis-server: redis-server. root@WSL:~# sudo service redis-server status
* redis-server is running

通过CMDPowerShell运行 Redis

CMD/PowerShell 通过wsl命令进入WSL环境, 这时 WSL 会自动挂载当前目录,也可以直接wsl redis-server(Ref-4)启动 Redis。Redis在standalone模式下,Terminal中无法进行交互。

C:\>wsl
kevin@WSL:/mnt/c# redis-server
2093:C 16 Aug 2020 18:44:15.097 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2093:C 16 Aug 2020 18:44:15.097 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=2093, just started
2093:C 16 Aug 2020 18:44:15.097 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
2093:M 16 Aug 2020 18:44:15.098 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 2093
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' 2093:M 16 Aug 2020 18:44:15.109 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
2093:M 16 Aug 2020 18:44:15.110 # Server initialized
2093:M 16 Aug 2020 18:44:15.111 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2093:M 16 Aug 2020 18:44:15.113 * Ready to accept connections

直接挂载C盘根目录可能导致按CTRL+C无法退出, 在其他启动的控制台,通过kill -9 pid终止Redis的运行。

2093:signal-handler (1597575573) Received SIGINT scheduling shutdown...
2093:M 16 Aug 2020 18:59:33.301 # User requested shutdown...
2093:M 16 Aug 2020 18:59:33.302 * Saving the final RDB snapshot before exiting.
2093:M 16 Aug 2020 18:59:33.303 # Failed opening the RDB file dump.rdb (in server root dir /mnt/c) for saving: Permission denied
2093:M 16 Aug 2020 18:59:33.304 # Error trying to save the DB, can't exit.
2093:M 16 Aug 2020 18:59:33.305 # SIGTERM received but errors trying to shut down the server, check the logs for more information

还可以通过redis-server &使Redis在后台运行(和直接redis-server运行不同,CTRL+C关闭以后,通过ps命令查看,发现仍在运行)。但是和守护模式(daemonize yes)的STAT(Ref-5) 是不同的。

kevin@WSL:/$ redis-server &
[1] 2329
kevin@WSL:/$ 2329:C 16 Aug 2020 19:36:10.196 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2329:C 16 Aug 2020 19:36:10.196 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=2329, just started
2329:C 16 Aug 2020 19:36:10.196 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
2329:M 16 Aug 2020 19:36:10.197 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 2329
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' 2329:M 16 Aug 2020 19:36:10.202 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
2329:M 16 Aug 2020 19:36:10.202 # Server initialized
2329:M 16 Aug 2020 19:36:10.202 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2329:M 16 Aug 2020 19:36:10.202 * Ready to accept connections
^C
kevin@WSL:/$ ps -aux --sort=tty,command
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 8892 264 ? Ssl 17:34 0:00 /init
root 1972 0.0 0.0 55668 2264 ? Ssl 18:20 0:00 redis-server *:6379
redis 2169 0.0 0.0 55668 2768 ? Ssl 18:52 0:00 /usr/bin/redis-server 127.0.0.1:6379
kevin 1643 0.0 0.0 18076 3084 tty1 S 17:46 0:00 -bash
root 1721 0.0 0.0 18212 3432 tty1 S 17:59 0:00 -bash
root 1642 0.0 0.0 8900 176 tty1 Ss 17:46 0:00 /init
root 1720 0.0 0.0 18908 2140 tty1 S 17:59 0:00 sudo -i
kevin 2178 0.0 0.0 18208 3684 tty2 S 19:12 0:00 -bash
root 2177 0.0 0.0 8900 200 tty2 Ss 19:12 0:00 /init
kevin 2333 0.0 0.0 18880 2000 tty2 R 19:36 0:00 ps -aux --sort=tty,command
kevin 2329 0.1 0.0 55668 4080 tty2 Sl 19:36 0:00 redis-server

start-stop-daemon: matching on world-writable pidfile /var/run/redis/redis-server.pid is insecurefailed的更多相关文章

  1. 启动docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

    启动docker提示: docker: Got permission denied while trying to connect to the Docker daemon socket at uni ...

  2. daemon not running. starting it now on port 5037 ADB server didn't ACK

    adb kill-server adb start-server 显示如下 daemon not running. starting it now on port 5037 ADB server di ...

  3. android搭建环境错误 daemon not running. starting it now on port 5037 ADB server didn't ACK

    android搭建环境错误 daemon not running. starting it now on port 5037 ADB server didn't ACK ADB server didn ...

  4. 【转载】Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决办法

    Docker Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke ...

  5. Cannot connect to the Docker daemon at unix:///var/run/docker.sock.问题解决

    出现Cannot connect to the Docker daemon at unix:///var/run/docker.sock时,先用tail -5f /var/log/upstart/do ...

  6. Docker未启动错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    此问题是因为Docker安装后未启动所致,执行以下命令启动docker: systemctl start docker.service 具体日志如下: Connecting to ... Connec ...

  7. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 是由 ...

  8. Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2

    环境:centos7.1 docker run -t -i centos /bin/bash 运行上面的命令开启容器时报错: /usr/bin/docker-current: Error respon ...

  9. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/images/json: dial unix /var/run/docker.sock: conne

    使用docker报如下错误信息: Got permission denied while trying to connect to the Docker daemon socket at unix:/ ...

随机推荐

  1. 2020JAVA最新应对各种OOM代码样例及解决办法

    引言 作者:黄青石 链接:https://www.cnblogs.com/huangqingshi/p/13336648.html?utm_source=tuicool&utm_medium= ...

  2. jmeter配置原件之使用CSV Data Set Config参数化

    测试过程中经常需要对发送的请求进行参数化,jmeter提供的CSV Data Set Config 配置元件可以很好的对请求数据进行参数化,下面介绍使用CSV Data Set Config参数化 1 ...

  3. Flask前后端分离项目案例

    简介 学习慕课课程,Flask前后端分离API后台接口的实现demo,前端可以接入小程序,暂时已经完成后台API基础架构,使用postman调试. git 重构部分: token校验模块 auths认 ...

  4. SQL语法分类

    数据查询 语法格式 : select [ , ...] from table_reference [ , ...] 去重复值 distinct关键字 , 从select结果集中删除所有重复的行,使结果 ...

  5. 自动化不知如何参数化?xlrd来帮你解决

    平时在做自动化测试的时候,一直都是要求数据与业务逻辑分离.把测试数据都写在业务里面的话,比较混杂.为了方便管理测试数据,所以引入了python的一个扩展库--xlrd.该库使用简单,能满足自动化测试的 ...

  6. 给自己挖坑——DateWay

    参考文章 官方手册 官方博客 填坑 目录 简介 使用 1. 引入相关依赖 2. 配置 Dataway,并初始化数据表 3. 配置数据源 4. 把数据源设置到 Hasor 容器中 5. 在SprintB ...

  7. break statement not within loop or switch报错

    break statement not within loop or switch. 注意你的循环,可能多加了个分号.for语句后面?

  8. centos7安装部署docker

    Kubernetes/K8s架构师实战集训营[中级班]:https://pan.baidu.com/s/1FWAz2V7BPsObixlZyW93sw 提取码:mvu0 Kubernetes/K8s架 ...

  9. Entry基本用法

    1.BooleanVar() 布尔类型 2.IntVar() 整数类型 3.DoubleVar() 浮点数类型 4.StringVar() 字符串类型 5.self.entry1 = Entry(se ...

  10. Python os.chflags() 方法

    概述 os.chflags() 方法用于设置路径的标记为数字标记.多个标记可以使用 OR 来组合起来.高佣联盟 www.cgewang.com 只支持在 Unix 下使用. 语法 chflags()方 ...