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示例代码...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
