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 修改~目录下的配 ...
随机推荐
- 网易mumu模拟器配置文件和修改adb port位置
网易mumu模拟器配置文件在安装目录下 emulator\nemu\vms\myandrovm_vbox86下的myandrovm_vbox86.nemu文件中 修改port位置
- HTML CSS STYLE USER Font Awesome Definition Content Attribute
在css样式表中写样式: 其中content使用图标类对应的字符编码如下
- centos7生成密钥及集群之间免密登录
1.在本地生成密钥 命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 2.进入.ssh文件夹,创建保存密钥的文件 命令:touch authorized_keys ...
- POJ 1644 分苹果 (递归解法)
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t < ...
- Objective-C中的@dynamic与@synthesize的区别
Objective-C中的@dynamic 转自:http://blog.csdn.net/haishu_zheng/article/details/12873151 一.@dynamic与@synt ...
- Keil开发的ARM程序main函数之前的汇编分析
Keil开发的ARM程序main函数之前的汇编分析 ——BIN文件中RW段的数据移动 系统平台: STM32系列STM32F103ZE,512KB内部FLASH,64KB片内存储; FLASH地址范围 ...
- Java中的IO流(三)
上一篇<Java中的IO流(二)>把学习Java的字符流以及转换流作了一下记录,从本篇开始将把IO流中对文件或文件夹操作的对象File类的学习进行一下记录. 一,File类的构造函数及字段 ...
- 解决ssh连接linux系统特别慢的问题
新安装的centos系统,发现ssh连接很慢,因为是测试环境,对安全的要求不高,所以完全可以更快的连接,下面一起来解决这个问题. 一.分析主要原因: 1.SSH的反向DNS解析会消耗大量时间 2.GS ...
- 简单几行代码使用百度地图API接口分页获取信息
首发于: 万能助手扩展开发:使用百度地图API接口分页获取信息_电脑计算机编程入门教程自学 http://jianma123.com/viewthread.aardio?threadid=426 使用 ...
- 创建<Bean>sessionFactory错误, init方法调用失败;嵌套异常是org.hibernate.exception。
未知原因:在Maven中hibernate映射开启了自动更新表,出现此异常 org.springframework.beans.factory.BeanCreationException: Error ...