win11安装wsl作为linux子系统并当作服务器
wsl安装
打开控制面板,找到启用或关闭windows功能

开启windows虚拟机监控平台和适用于Linux的Windows子系统,重启电脑。
打开microsoft store搜索ubuntu,找到合适的版本下载安装

输入wsl -l如下所示,即为安装成功。

安装过程比较繁琐,参考微软官方教程,注意将设置默认wsl2。
使用WSL
在使用WSL时,使用命令wsl进入linux子系统,如下,默认挂在c盘

当然也可以通过wsl --cd D:/tmp指定挂在目录,路劲必须是绝对路径,如下:

还可以通过Linux的目录,进入到子系统的制定目录:

此时就启动了基于windows的linux子系统,其本身就是一个ubuntu系统,通过heyper-V实现。
wsl非常轻量级,比使用虚拟机软件构件linux要轻量级的多。进入wsl需要什么软件直接下载即可。
配置开发环境
wsl作为windows的子系统也是应用广泛,主流软件都适配了wsl的开发环境,例如jetbrians全家桶,如下:

在goland的主界面有可选项wsl,如果要使用wsl远程开发,选择wsl即可。选择wsl后会下载一个客户端,然后进行远程开发。
可以选择IDE的版本,并在wsl中新建目录。如下

建完新目录后进入,远程客户端开发界面,如下图,显示了wsl的相关信息和上传于下载的速度信息。

在该编辑其可以实现开发任务了。
vs code也是支持wsl开发的,但是一般情况下不使用,相对来说远程开发的效率是没有本地高的。
配置服务
在开发中windows上很多使用起来是不方便的,基于wsl就可以完美解决这个问题。例如docker,k8s等,其运行环境只能在linux系统上。
如何将wsl配置,在主机上访问,并且在局域网内部也能访问呢?
安装mysql
在wsl上安装mysql并配置,使在主机上也能访问。
ubuntu上安装mysql8.0就不再过多叙述了,之前的文章有较为详细的过程,这里主要叙述遇到的问题和解决问题的过程。
- 本地mysql访问权限问题
安装配置完mysql后使用mysql -u root -p访问数据库报错:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

但是使用管理员权限就没问题sudo mysql -u root -p。这个问题虽然不影响本地上的访问,但是影响远程访问,因为远程访问是无法加sudo的。
上述问题是由于mysql命令对文件的执行权限不够,连接mysql server需要通过mysqld.sock但是切到对应目录下查看权限,如下:

mysqld的权限为d显示mysql用户执权限不足,甚至都不能读取,那么就需要对文件授权,如下

或者直接sudo chomd 777 mysqld给予全部权限。
授权之后mysql命令就有权限了,使用mysql -u root -p 就不会再报错了,如下:

外部访问mysql
安装完mysql需要配置用户的远程访问,才可以实现该功能。
service mysql status确保mysql服务启动:

mysql -u root -p命令没有sudo也可以连接本地数据库。
确保3306端口开放并处于监控中

可视化工具远程连接

连接数据库一般需要ip,username,password。用户名和密码就不再说了,这个ip是wsl的私有ip,在win11的局域网是自动绑定的,只要知道wsl的内部ip即可,通过ip addr或者ifconfig查看,如下:

图上显示的wsl的ip就是172.19.129.149这个ip是私有的和192开头的差不多,这个ip和win11的局域网自动绑定,直接通过该ip实现连接如下:

在win11中通过数据库可视化软件使用wsl的ip连接wsl的数据库。
安装go环境
在wsl中安装go环境直接apt安装或者snap安装即可,当然也可以通过goland安装,小编就是使用goland安装的最新版。
使用goland安装会自动下载gopath和goroot了,并且在/home/xiaoxu类似的路径下,需要配置环境变量:
export GOROOT=/home/xiaoxu/sdk/go1.21.6
export GOPATH=/home/xiaoxu/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
同理安装Java,python环境即可。
外部访问
在win11中如何访问wsl的网络呢?
小编在Goland的wsl远程开发,写了一个建议的gin服务,如下:

启动服务后在本地显然是可以访问的


那么在win11中呢?
小编直接将上述地址复制到了浏览器的地址栏,出乎意料的是竟然能直接访问,如下:

也就是所在wsl启动的web服务,在win11中都可以通过localhost加对应端口访问。

ip自动实现绑定可以直接访问,对web服务目前是这样,可能是对http协议可以直接访问。
docker安装
安装教程就不过多叙述了,网上教程很多,这里推荐一个比较详细的教程https://linux.cn/article-14871-1.html
sudo service docker status查看docker是否启动

sudo service docker start启动docker

当我需要将docker设置为开机自启时又出现了问题如下:
System has not been booted with systemd as init system (PID 1). Can't operate

使用apt安装了也不可以使用,正在我疑惑之际看到了修复 "System has not been booted with systemd as init system "的错误。
文章,解决了我的疑惑,感谢作者大大!
System has not been booted with systemd as init system (PID 1). Can't operate.
原因:您的Linux系统没有使用systemd。
原因是你想用systemd命令来管理Linux上的服务,但你的系统并没有使用systemd,wsl使用的是经典的SysV init(sysvinit)系统。

使用等价命令依然可以得到同样的效果。

sudo chmod 777 docker.sock再次授权。
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
出现上述错误说明docekr没有启动成功,重启docker即可。
除了上述使用service名另外,也可以安装systemctl命令。
参考

相关文章:
win11安装wsl作为linux子系统并当作服务器
wsl安装 打开控制面板,找到启用或关闭windows功能 开启windows虚拟机监控平台和适用于Linux的Windows子系统,重启电脑。 打开microsoft store搜索ubuntu,找到合适的版本下载安装 输入wsl -l如下所示,即为安装成功。 安装过程比较…...
户用光伏电站的管理包括哪些内容?需要怎么做?
户用光伏电站在运行后需要进行一系列的管理工作,包括安全、运行、质量和数据等等,从而保证电站的安全、经济、高效运行。 1.安全管理 光伏电站的安全管理是非常重要的,包括电站的防雷、防火、防盗等措施,以及电站内部的安全管理…...
Kafka-服务端-PartitionLeaderSelector、ReplicaStateMachine
PartitionLeaderSelector 通过对前面的分析可知,PartitionMachine将Leader副本选举、确定ISR集合的工作委托给了PartitionLeaderSelector接口实现,PartitionMachine可以专注于管理分区状态。这是策略模式的一种典型的应用场景。 图展示了PartitionLead…...
总结11(数组)
数组 1.为什么需要数组 为了解决大量同类型数据的存储和使用问题 为了模拟现实世界 2. 数组的分类 一维数组 1).怎样定义一维数组 为n个变量连续分配存储空间。 所有的变量数据类型必须相同。 所有变量所占的字节大小必须相等。 例子: int a[5]; &#x…...
扩展学习|大数据分析整合到价值创造的大见解
文献来源:Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接:链接:https://pan.baidu.com/s/14IGaCOc-plxAiaVhwOgUvA 提取码…...
蓝桥杯---牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后…...
【Linux】VMware Workstation16安装银河麒麟高级服务器操作系统V10 SP3 AMD64
目录 一、麒麟服务器概述 二、安装步骤 设置硬盘大小 完成配置 修改内存 处理器等设备配置 选择直接安装 配置磁盘 网络配置 设置root账号密码 开始安装 启动完成 一、麒麟服务器概述 银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云…...
中国的茶文化:历史、传统与生活
中国的茶文化:历史、传统与生活 一、引言 茶,这一神奇而古老的饮品,与中国的历史、文化和生活方式紧密相连。中国的茶文化,源远流长,博大精深,是中华文明的重要组成部分。它不仅是一种饮料,更是…...
Oracle函数使用
ROW_NUMBER函数 ROW_NUMBER() OVER(PARTITION BY column1 ORDER BY column2 DESC) -- 根据column1分组按column2降序排序生成序号,序号由小到大,会生成一个唯一的序号 -- 例如column2中有两列值都为1,那他们的序号会有一个在上一个在下ROW_NUMBER() OVER(ORDER BY …...
正则表达式与文本三剑客
目录 一、正则表达式 1. 定义 2. 字符匹配 3. 重复限定符 4. 位置锚点 5. 分组和引用 6. 扩展正则表达式 二、文本三剑客 1. grep 1.1 定义 1.2 语法 1.3 选项 1.4 示例 2. sed 2.1 定义 2.2 通式 2.3 选项 2.4 脚本格式(脚本语法) 2.…...
C语言中的数组操作技巧:提升程序的效率和可读性
1. 概念 数组是C语言中常见且重要的数据结构,在许多应用中都被广泛使用。合理地处理数组操作可以提高程序的效率和可读性。本文将介绍C语言中常用的数组操作方法和技巧,帮助读者优化数组操作并提升程序效果。 2.常用的数组操作方法 2.1 数组的初始化 C…...
202 快乐数
编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,…...
html css javascript写一个扫雷
文章目录 一、html css javascript写一个扫雷二、JavaScript三、HTML四、CSS五、热门文章 一、html css javascript写一个扫雷 一个简单的使用HTML、CSS和JavaScript编写的扫雷游戏的示例代码: <!DOCTYPE html> <html> <head><title>扫雷…...
Unity3D正则表达式的使用
系列文章目录 unity工具 文章目录 系列文章目录前言一、匹配正整数的使用方法1-1、代码如下1-2、结果如下 二、匹配大写字母2-1、代码如下1-2、结果如下 三、Regex类3-1、Match()3-2、Matches()3-3、IsMatch() 四、定义正则表达式…...
SpringBoot,TDengine时序数据库,实现物联网,车联网大批量数据更新最佳实践。
简介 TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,它能安全高效地将大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,对业务运行状态进行实时监测、预警,提供实时的商业洞察。其…...
【CSS】常见
一. 溢出隐藏 1.1 单行文本溢出 .content{max-width:200px; /* 定义容器最大宽度 */overflow:hidden; /* 隐藏溢出的内容 */text-overflow:ellipsis; /* 溢出部分...表示 */white-space: nowrap; /* 确保文本在一行内显示 */ }问题:display:flex 和 ellipsis 冲…...
Django实战
一、开发登录表单 def login_form(request):html <html><body><form method"post">用户名:<input name "username" type"text"></input></br>密码:<input name "password" type…...
redis(1)
文章目录 一、redis基础redis简介redis 特性单线程redis 对比 memcachedredis 典型应用场景 二、redis安装及连接yum安装redis查看yum仓库redis版本yum安装 redis 编译安装 redis编译安装前台启动redis启动多实例解决启动时的三个警告提示创建 redis 用户编辑 redis 服务器启动…...
【RTP】webrtc 学习2: webrtc对h264的rtp打包
切片只是拷贝帧的split的各个部分到新的rtp 包的封装中。并没有在rtp包本身标记是否为关键帧FU-A 切片 输入的H.264 数据进行split :SplitNalu SplitNalu : 按照最大1200字节进行切分 切分后会返回一个数组 对于FU-A :split的数据总大小是 去掉一个字节的nalu header size …...
【搜索术】代码阅读理解学习笔记
学习资料 《理解源代码》 1 静态阅读 1.1 目标结构 常见目录名含义docs项目文档examples示例代码...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
