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示例代码...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
