美文网首页
WSL下载安装Nginx以及简单配置

WSL下载安装Nginx以及简单配置

作者: 哎呦_Jason | 来源:发表于2021-10-17 02:44 被阅读0次

    一. 安装

    在WSL环境执行透过apt安装

    sudo apt install nginx
    

    二. 自动启动

    1. 在WSL里编辑一个开机要自动执行的脚本

    vi /etc/init-wsl
    

    内容如下,把要开机就自动启动服务的指令加进去:

    #!/bin/sh
    sudo service nginx start
    

    2. 设定执行权限

    sudo chmod +x /etc/init-wsl
    

    3. 在Windows计划任务程序,新增一个开机执行的任务来调用init-wsl

    安全选项改为不管用户是否登录都要执行

    触发器为启动时执行


    勾选延迟30秒时间启动

    启动程序指令,-d 后面是指定WSL的发行版本,如果没需要可以省略
    wsl -d Ubuntu-20.04 -u root /etc/init-wsl
    

    确定时需要输入你Windows的密码

    三. 端口转发

    要让内网其它电脑可以访问,还需要打通二个点:

    1. 关闭防火墙或者设置入站规则
    2. 设置端口转发,让windows转发来自特定端口的请求到wsl2

    设置方法如下:

    1. 在Windows编辑一个BAT档内容如下:
    @ECHO OFF
    rem Linux发行版的名称
    SET DISTRO=Ubuntu-20.04 
    rem WSL内的端口号
    SET WSL2PORT=80
    rem 外部端口号 
    SET HOSTPORT=80
    
    rem 删除原本的设定
    NETSH INTERFACE PORTPROXY RESET 
    NETSH AdvFirewall Firewall delete rule name="%DISTRO% Port Forward" 
    
    rem 查询WSL环境此时的IP
    WSL -d %DISTRO% -- ip addr show eth0 ^| grep -oP '(?^<=inet\s)\d+(\.\d+){3}' > IP.TMP
    SET /p IP=<IP.TMP
    
    rem 配置WSL2端口转发
    NETSH INTERFACE PORTPROXY ADD v4tov4 listenport=%HOSTPORT% listenaddress=0.0.0.0 connectport=%WSL2PORT% connectaddress=%IP% 
    rem 配置防火墙
    NETSH AdvFirewall Firewall add rule name="%DISTRO% Port Forward" dir=in action=allow protocol=TCP localport=%HOSTPORT% 
    ECHO WSL2 Virtual Machine %IP%:%WSL2PORT%now accepting traffic on %COMPUTERNAME%:%HOSTPORT%
    
    1. 在刚刚的Windows计划任务程序新增一个启动程序的操作任务,来执行这个BAT


    设定完成!!

    可以在Widnows环境执行下列指令查看端口转发设定

    NETSH INTERFACE PORTPROXY Show all
    

    相关文章

      网友评论

          本文标题:WSL下载安装Nginx以及简单配置

          本文链接:https://www.haomeiwen.com/subject/vwpioltx.html