WSL跑linux服务程序
前段时间折腾了一次WSL下的Apache,无奈遇到各种奇葩问题,总是解决不了,最终放弃,甚至得出了一个现在看来比较可笑的结论:WSL是不可能跑Linux服务程序的!
当时的思路想歪了,由于Apache启动时报的一个错误“IN6_IS_ADDR_V4MAPPED”,就一直往IPV6的方向折腾,觉得WSL是不支持IPV6的,所以最终没搞定!不过当时按照网上的说法,禁用了Win10的IPV6之后,重启系统确实Apache服务可以正常启动了,但启动之后貌似正常监听了80端口,但页面依然不能访问!至此我就判定了WSL是个废柴!不能跑Linux服务程序!
今天又一次机缘巧合,还是需要再折腾一下WSL下的Apache,这一次终于搞定了!!!
上午在查询资料的过程中,浏览到一些WSL方面的资料,顺便收藏了一下,打算晚上抽空再尝试一下,都是来自WSL官方github的几个资料:
- all app run in wsl can not listen to any ports
- Assertion `IN6_IS_ADDR_V4MAPPED (sin6-_sin6_addr.s6_addr32)' failed
- Unable to open any PORT in bash
- Issue with WSL listening to TCP ports
趁晚饭之前有点空,就大概看了一下,发现很多人都是由于TencentTGP或者一些VPN软件导致的,所以决定这次折腾的方向是网络驱动,按照指示下载了一个DriverView,查看了一下,果然有个VPN的驱动在系统里!之前由于工作需要,安装了Sangfor的VPN客户端,后来记得把能卸载的都卸载了,但还遗留了这个祸害!(system32/drivers中,SangforVnic.sys和vpntdi64.sys)尝试删除,还删除不了,但发现可以改名,于是改名、重启系统,果然Apache可以正常启动了,而且页面也可以访问了!!!激动啊!!!
匆匆吃完晚饭,回来接着折腾,仔细检查了一下系统,发现Sangfor的残留还不少!而且很顽固!感觉Sangfor有点流氓软件的性质,安装很方便、很自动,卸载却各种万难!甚至在Win10系统中根本无法卸载,一点卸载程序就报错!强行删除安装目录又会导致整个电脑的网络瘫痪,真是太让人恶心了!参考网友的解决方案,总算是把Sangfor清理干净了!我的系统好像和作者的情况不太一样,不需要进安全模式,直接到注册表里删除winsock和winsock2,然后导入两个reg文件(点击下载,来自网友提供的Win10家庭版,我的专业版目前正常,不保证所有系统都正常),重启就可以了。
最后强烈大家谨慎使用Sangfor的产品!如果实在迫不得已,建议在虚拟机里使用,使用后可以还原虚拟机,不留后患!
PS. 更改默认用户已经不再是使用“lxrun /setdefaultuser”命令了,而是使用各发行版自己的命令代替了,比如ubuntu.exe或debian.exe config --default-user root,这样就设置默认用户为root了。管理各个发行版也使用wslconfig命令了,可以使用wslconfig /setdefault debian 设置debian为默认发行版(执行bash或wsl命令自动进入的发行版),非默认发行版也可以执行各自的命令进入,比如ubuntu.exe可以进入Ubuntu,可以参考MS官方的两个链接:
账号管理:https://docs.microsoft.com/en-us/windows/wsl/user-support
发行版管理:https://docs.microsoft.com/en-us/windows/wsl/wsl-config
PS. 注意:虽然Windows本身也支持文件名的大小写,但文件系统中记录的应该是同一个文件,但WSL却不同,它创建的指定格式大小写的文件名与Windows的模式不同,我在WSL中通过git clone命令创建的项目目录,在VS中打开时(解决方案中的文件名大小写与实际文件名的大小写不一致)总是提示找不到文件(而且在IIS中运行的时候总是报404错误【MVC项目】,折腾了好久,以为是IIS站点MVC配置问题,最后才发现是这个原因),在Windows命令行中git clone的项目就没有任何问题(在IIS直接跑也没有问题)。
WSL跑linux服务程序的更多相关文章
- 什么?Android上面跑Linux?
前言 众所周知,现在程序员因为工作.个人兴趣等对各种系统的需求越来越大,部分人电脑做的还是双系统.其中,比较常见的有各种模拟器.虚拟机在windows上面跑Android.Linux,大家估计都习以为 ...
- Win10 Bash/WSL调试Linux环境下的.NET Core应用程序
一.简介 使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设备也是挺漂亮的. 在新的Win ...
- 【Linux】在Win10上搭建WSL(适用于Linux的Windows子系统)
1.打开WSL ,控制面板 -- 程序 -- 程序和功能 -- 打开或关闭Windows功能 - 选中[适用于Linux的Windows子系统] 2.开启后重启电脑 3.在Win10自带的Micro ...
- WSL及Linux入门
win10内置linux子系统(Windows Subsystem for Linux),可以不用安装Vmware等虚拟机学习linux啦. wsl开启方式 设置打开开发人员模式. 控制面板-程序和功 ...
- STM32是否可以跑linux
操作系统有两种 用MMU的 和 不用MMU的用MMU的是Windows MacOS Linux Android不用MMU的是FreeRTOS VxWorks ucOS... CPU有两种 带MMU的 ...
- 跑Linux内存占用率的shell脚本
#!/bin/bash ################################################################ # Mem Used Script # eg. ...
- Windows Subsystem for Linux (WSL)挂载移动硬盘U盘
WSL想通过移动硬盘处理一些数据,结果进去了无法发现移动硬盘,于是搜了好久也没有一个正确的解决办法,终于找到一个,现在贡献出来与大家共享. WSL比起linux挂载硬盘简单一些.而且windows本身 ...
- 在Linux的Windows子系统上(WSL)使用Docker(Ubuntu)
背景 平时开发大部人都是在提供了高效GUI的window下工作,但是真正部署环境普遍都是在Linux中,所以为了让开发环境和部署环境统一,我们需要在windows模拟LInux环境,以前我们可能通过虚 ...
- 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南
目录 修改默认源,为apt-get安装提速 安装python 和 python pip 安装 zsh 安装powerline-font中的特定字体 安装powerline-shell 修改~目录下的配 ...
随机推荐
- 在编译器中调试spark程序处理
在IDEA中调试spark程序会报错 18/05/16 07:33:51 WARN NativeCodeLoader: Unable to load native-hadoop library for ...
- Centos7 搭建jupyter远程服务器
前提:已经安装好jupyter 和Ipython,个人安装anaconda自带jupyter和Ipython 步骤1:生成配置文件: jupyter notebook --generate-confi ...
- [19/03/26-星期二] 容器_Map(图、键值对、映射)接口之HashMap(散列映射)&TreeMap(树映射)
一.概念&方法 现实生活中,我们经常需要成对存储某些信息.比如,我们使用的微信,一个手机号只能对应一个微信账户,这就是一种成对存储的关系. Map就是用来存储“键(key)-值(value) ...
- 3spring:生命周期,属性赋值,自动装配
有不懂的可以参考之前的文章! https://www.cnblogs.com/Mrchengs/p/10109053.html 1.Bean的生命周期 创建---初始化---销毁 容器管理 ...
- 【绝迹篇】RSA加密算法(私钥加签公钥验签)
对于上上篇博客中我讲的一个故事,本文引用: https://www.cnblogs.com/ButterflyEffect/p/9851403.html 故事中提到的关于加密会出现,私钥加密,公钥解密 ...
- Cesium.js点击事件
创建viewer var viewer = new Cesium.Viewer('cesiumContainer'); 鼠标事件 var handler = new Cesium.ScreenSpac ...
- 制作二维码java
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Parallel.ForEach使用示例
新建一个.NET Core控制台程序,代码如下: using System; using System.Collections.Generic; using System.Threading; usi ...
- react使用echarts地图实现中国地图大区展示
日常项目中经常会用到百度地图或者echarts图标展示,今天给大家展示的是如何在react开发项目中使用百度echars的地图展示,把中国地图分为东北大区.华东大区.华南大区.华西大区.华中大区以及华 ...
- 使用PIE.htc让万恶的IE内核浏览器IE6\7\8支持CSS3部分属性
万恶的IE内核浏览器,这是多少前端程序员头疼的事情... 今天给大家介绍一下如何用 PIE.htc 来让IE浏览器支持CSS3的 border-radius.box-shadow.CSS3 Backg ...