曾經(jīng)嘗試過升級win11,但是我這臺r5-5600g的機(jī)器圆米,經(jīng)匙湓荩卡死,所以就退回win10了娄帖。本來就是因?yàn)樾鲁龅溺R像網(wǎng)絡(luò)功能二打算升級的也祠。
因?yàn)橹暗膚sl的ip每次都會變動,用起來感覺很難受近速。所以我一直沒有用wsl開發(fā)齿坷。
最近在win10上體驗(yàn)了鏡像網(wǎng)絡(luò),發(fā)現(xiàn)以前的問題大部分都可以解決了数焊。
需要先把wsl升級到最新2.x版本才能使用
wsl --update --preview
下面是現(xiàn)在wsl的配置
這個(gè)文件在%ALLUSERSPROFILE%
目錄下,也就是你的用戶目錄下創(chuàng)建.wslcon fig
崎场,就可以對wsl進(jìn)行配置佩耳,配置完了執(zhí)行wsl --shutdown
,關(guān)閉wsl谭跨,然后重新啟動干厚,啟動時(shí)就會讀取到配置
[wsl2]
memory=20GB #限制最大內(nèi)存
processors=8 #限制線程數(shù)
localhostforwarding=true
nestedVirtualization=true
guiApplications=true
[experimental]
autoMemoryReclaim=gradual # gradual | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
# 使用稀疏vhd減少空間占用
sparseVhd=true
# [boot]
# command="service redis-server start"
[network]
# 取消自動生成dns文件,
# 默認(rèn)生成的dns server是本地ip螃宙,那樣實(shí)測走不了clash
# 這里關(guān)掉蛮瞄,然后在/ect/resolv.conf設(shè)置google dns 8.8.8.8
generateResolvConf = false
這樣設(shè)置以后,windows上可以通過localhost訪問到wsl內(nèi)開啟的應(yīng)用谆扎。
DNS設(shè)置
默認(rèn)的DNS是指向本機(jī)的挂捅,但是因?yàn)楦鞣N原因,導(dǎo)致你的代理配置失效
所以堂湖,所以要修改這個(gè)配置
sudo vi resolv.conf
nameserver 8.8.8.8
wsl訪問windows的問題
就是wsl下無法通過localhost訪問到windows上的服務(wù)闲先,比如你在windows上開了一個(gè)postgresql状土,然后wsl里面訪問不到。
這個(gè)暫時(shí)不知道怎么解決伺糠,用局域網(wǎng)地址之類的都試了蒙谓,發(fā)現(xiàn)也不能連接到,訪問外部網(wǎng)址倒是沒問題训桶,比如curl www.baidu.com
不過我最后發(fā)現(xiàn)是虛驚一場累驮,
雖然無法通過localhost來訪問,但是通過局域網(wǎng)ip來訪問還是可以的舵揭。
因?yàn)槲业膒ostgresql沒有配置局域網(wǎng)訪問才產(chǎn)生了這個(gè)問題谤专。
修改一下配置文件就可以了。也不需要重啟pgsql就能生效琉朽。
C:\Program Files\PostgreSQL\16\data\pg_hba.conf
host all all 0.0.0.0/0 scram-sha-256
這樣我們可以通過修改hosts文件毒租,把localhost轉(zhuǎn)發(fā)到局域網(wǎng)的ip地址,就能正常啟動這個(gè)項(xiàng)目了箱叁。
sudo gedit /etc/hosts
把localhost的映射替換掉墅垮。。耕漱。
你的局域網(wǎng)IP localhost