前段时间折腾了一次WSL下的Apache,无奈遇到各种奇葩问题,总是解决不了,最终放弃,甚至得出了一个现在看来比较可笑的结论:WSL是不可能跑Linux服务程序的!

当时的思路想歪了,由于Apache启动时报的一个错误“IN6_IS_ADDR_V4MAPPED”,就一直往IPV6的方向折腾,觉得WSL是不支持IPV6的,所以最终没搞定!不过当时按照网上的说法,禁用了Win10的IPV6之后,重启系统确实Apache服务可以正常启动了,但启动之后貌似正常监听了80端口,但页面依然不能访问!至此我就判定了WSL是个废柴!不能跑Linux服务程序!

今天又一次机缘巧合,还是需要再折腾一下WSL下的Apache,这一次终于搞定了!!!

上午在查询资料的过程中,浏览到一些WSL方面的资料,顺便收藏了一下,打算晚上抽空再尝试一下,都是来自WSL官方github的几个资料:

趁晚饭之前有点空,就大概看了一下,发现很多人都是由于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服务程序的更多相关文章

  1. 什么?Android上面跑Linux?

    前言 众所周知,现在程序员因为工作.个人兴趣等对各种系统的需求越来越大,部分人电脑做的还是双系统.其中,比较常见的有各种模拟器.虚拟机在windows上面跑Android.Linux,大家估计都习以为 ...

  2. Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

    一.简介 使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设备也是挺漂亮的. 在新的Win ...

  3. 【Linux】在Win10上搭建WSL(适用于Linux的Windows子系统)

    1.打开WSL  ,控制面板 -- 程序 -- 程序和功能 -- 打开或关闭Windows功能 - 选中[适用于Linux的Windows子系统] 2.开启后重启电脑 3.在Win10自带的Micro ...

  4. WSL及Linux入门

    win10内置linux子系统(Windows Subsystem for Linux),可以不用安装Vmware等虚拟机学习linux啦. wsl开启方式 设置打开开发人员模式. 控制面板-程序和功 ...

  5. STM32是否可以跑linux

    操作系统有两种 用MMU的 和 不用MMU的用MMU的是Windows MacOS Linux Android不用MMU的是FreeRTOS VxWorks ucOS... CPU有两种 带MMU的 ...

  6. 跑Linux内存占用率的shell脚本

    #!/bin/bash ################################################################ # Mem Used Script # eg. ...

  7. Windows Subsystem for Linux (WSL)挂载移动硬盘U盘

    WSL想通过移动硬盘处理一些数据,结果进去了无法发现移动硬盘,于是搜了好久也没有一个正确的解决办法,终于找到一个,现在贡献出来与大家共享. WSL比起linux挂载硬盘简单一些.而且windows本身 ...

  8. 在Linux的Windows子系统上(WSL)使用Docker(Ubuntu)

    背景 平时开发大部人都是在提供了高效GUI的window下工作,但是真正部署环境普遍都是在Linux中,所以为了让开发环境和部署环境统一,我们需要在windows模拟LInux环境,以前我们可能通过虚 ...

  9. 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南

    目录 修改默认源,为apt-get安装提速 安装python 和 python pip 安装 zsh 安装powerline-font中的特定字体 安装powerline-shell 修改~目录下的配 ...

随机推荐

  1. iOS之3DTouch的使用---很简单,看我就够啦~~

    3DTouch是苹果在iOS9之后新推出的功能,功能大致可以分成两种,一种是长按app的icon,会出现以下的界面,还有一种是在app内部的某个视图上使用,效果如下图. 详细的效果也可以参见微信.微信 ...

  2. Spring mvc实现ex导入导出

    依赖架包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</arti ...

  3. java根据数据库自动生成代码

    出现这个已经创建成功 出现这个情况,没有使用DBUtil,引入即可 已经创建完成 代码下载:https://github.com/weibanggang/tool 项目实例下载:https://pan ...

  4. 课时47.datalist标签(了解)

    1.datalist标签 作用:给输入框绑定待选项 2.datalist格式: <datalist> <option>待选项内容</option> </dat ...

  5. idea 引入多项目

    1.先导入总包 2.右侧mavenmaven,选择parent的pom.xml 3.右上角“Project Structure”检查SDK

  6. Ubuntu18.04安装完应该做的一些事 显卡驱动安装和cuda8.0

    博主装Ubuntu18.04主要是为了用于跑深度学习,所以我们先来搞搞gcc环境 第一步:安装多版本gcc.g++可切换 sudo apt-get install gcc-4.8 gcc-4.8-mu ...

  7. go加密算法:CBC对称加密(一)--DES

    package main import ( "bytes" //"crypto/aes" "crypto/cipher" "cry ...

  8. bootstrap-paginator分页插件的简单使用实例

    Document 21:36:40 简述:bootstrap-paginator是一款基于bootstrap的jQuery分页插件. githup项目地址:https://github.com/lyo ...

  9. sourcetree .git 强制忽略指定文件不提交

    在公司写项目,大部分都会用到 svn 或 git 提交代码到服务器.我们公司用的GIT,每个程序员有自己的独立分支,各写各的代码互不冲突,最终合并到主分支再解决相同代码冲突问题.这时候会遇到一些配置文 ...

  10. day30 进程

    推荐两本书:现代操作系统和操作系统原来,学习好python以后再去研究.   并发:任务的切换,保存状态,存在io的是实现空间和时间的 重复利用 操作系统的发展历史: 第一代(1940-1955)手工 ...