找回密码
 立即注册
查看: 6861|回复: 3

有像在ipad上运行ish一样在windows上运行linux的方法吗?

[复制链接]

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
发表于 2023-5-18 08:20:43 来自手机 | 显示全部楼层 |阅读模式
在 Windows 上,您可以使用 Linux 子系统(WSL)来运行 Linux 命令行工具和应用程序。WSL 允许您在 Windows 环境中运行原生 Linux 工作负载,而无需使用虚拟机或容器。WLS 1 和 WSL 2 是两种不同的子系统版本,前者是基于 Hyper-V 技术实现的,而后者速度更快,并使用了实际 Linux 内核。WSL 2 不适用于较旧的 Windows 版本,需要 Windows 10 2004 及以上版本。! L( M8 S" N- q4 O8 y9 v( j

( w1 E# {# `% L7 |您可以在 WSL 中安装和运行 Nginx,包括在 Windows 上仅运行 Nginx 的轻型 Linux 环境。; R8 i2 e7 K$ ~5 {
" P: q. A7 S, \7 n: d! L
以下是在 WSL 中安装和运行 Nginx 的步骤:
" P9 b" `) c# u- j* C3 X- ]1 T0 U% r+ f9 t' }
1.打开 Windows PowerShell 作为管理员,并启用 WSL:2 t: H8 h! N; q" ~
1 A; [/ T3 R- i6 R$ b; A- M
```
) b, R2 k; N8 z) REnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
+ E. r9 Q" `" u7 o/ ^& V) D' z```
8 Y2 x7 ?" Y/ W/ k' W& y0 w/ C$ {9 p6 X- X
2. 安装适用于 Windows 的 Linux 发行版。您可以使用 Ubuntu、Debian、Arch Linux 等。* c, x. l! p7 i3 O5 m, R6 Q

5 g" e( K7 [  b. M3 y2 N: _3. 启动 Linux 发行版,并在 Linux 终端中运行以下命令以更新软件包列表:! }0 ]7 x3 W. i1 A9 y$ N. f
" w* P, X6 @# H/ a% W; B% n; x
```
7 G9 F% s9 D  S7 R9 f4 usudo apt update0 d) y& H4 w, h
```3 \. G7 n' C' Q$ [9 v

- w" h2 E8 V7 N: Y# q* a4 m- ]4. 安装 Nginx:
( p1 z3 b2 K* |- V: B. n0 `% B0 G- P$ b+ ~+ V
```. T& c1 a8 ?  g5 E0 u) Y  n  d
sudo apt install nginx
& K' a; A4 R0 L& Y% C9 P$ S% h& b* x9 O9 O```
6 Y, Z8 O( I5 m# E+ m( t- y/ h% x' O5 S9 {: ?8 K0 L3 w
5. 配置 Nginx:在 Linux 终端中编辑 /etc/nginx/nginx.conf 文件来定义您的服务器。您可以手动编写 Nginx 配置文件,或者使用网络上现成的 Nginx 配置样板。
) f$ K9 V8 P; c7 ]0 U
  J/ S4 F+ |, X, e8 O( P5 D" V6. 启动 Nginx:  S& H  S; b6 H+ d& L' U

8 V( @9 \/ n* T2 p/ j+ T5 O# ?```: @; F- N. X0 `" T" n
sudo service nginx start
. x+ h! U3 D4 r! Y, i```
/ m# w2 |- Z0 |% n, O0 N8 ^  w: \( q+ }2 ~( ^5 L: J, u
现在,您可以在 Windows 的浏览器中输入 localhost,以测试 Nginx 是否已成功运行。任何在 Linux 发行版和 Nginx 中进行的更改都将持久保存并在以后的会话中恢复。6 u. P/ A) P1 e) D

2 U- X5 s$ [- Z) F# u请注意,WLS 主要用于命令行工具和轻型服务器应用,而不是针对图形界面应用和游戏。因此,WLS 可能不适合某些场景下的使用。
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-5-18 08:22:55 来自手机 | 显示全部楼层
那这个运行,在windows系统重新开始启动后,之前的安装,布署,设置还在吗?
3 a8 T6 m) B) \+ Q, L2 ], V+ _: ?8 A* o0 ~6 Y- Q
在 WSL 中,您的文件系统位于 Windows 文件系统中的专用虚拟硬盘(VHD)中,并且在重新启动 Windows 计算机后会恢复。这意味着您应该可以重新启动计算机并通过重新启动 WSL 发行版来访问您以前安装和部署的 Nginx 环境,您不需要重新安装。
7 p. O' q" k  x7 Q; ?7 p6 M: }: E7 T' I2 c
但是,如果您在 WSL 发行版中安装了依赖于 Windows 系统的应用程序,则需要重新安装它们。例如,在 WSL 中运行 MySQL 数据库需要安装 Windows 版本的 MySQL,因为 WSL 环境无法访问访问 Windows 文件系统中的 MySQL 数据库文件。: A* u7 c4 T1 ~4 T0 c6 [

7 X( K0 _* B% ]) W$ x5 l+ ~注意,如果您按照上述步骤使用 WSL 安装和部署 Nginx,请确保使用适当的命令停止和启动 Nginx,以便在重新启动计算机后恢复服务。或者,您可以将它设置为作为 Windows 开机自启的服务运行,这样即使重新启动计算机,也可以仍然保持 Nginx 服务的运行。
5 V! D+ B9 b( P7 O, P
" y6 J: m! B+ v+ h7 z总之,在 WSL 中安装和部署 Nginx 时,只要您不删除 WSL 发行版的文件系统,重新启动 Windows 计算机应该不会影响您之前的安装设置。
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-5-18 08:28:18 来自手机 | 显示全部楼层
这个虚拟磁盘vhd占用多大的空间?# `# A7 N! y! d0 c) ~2 b% h
4 s3 ^) X0 M# z4 j) W
在 WSL 中,虚拟磁盘使用动态大小分配,这意味着只占用实际使用的空间。默认情况下,WSL 磁盘的容量约为250MB到3GB之间。: y1 y: H3 ^" ?3 Y" F
; o4 v1 w: N. Z6 u+ ?/ v
您可以使用`wsl --list --verbose`命令查看您的 WSL 发行版的磁盘使用情况。该命令会列出您的 WSL 发行版和对应的虚拟磁盘的位置和容量信息。例如:+ n4 D- i. Q" H. P5 @- E- e
0 _: H% i+ |7 u" {
```& T  E9 i6 g& {$ o/ l
  NAME            STATE           VERSION         WSL  LOCATION
( {5 e; c4 l: w- g  c$ i% `* Ubuntu-20.04    Running         2               Ubuntu-20.04.vhdx
( v5 g# ?9 I* f5 G$ ]- p# G1 W```
0 S/ ?/ A' `2 f" R; ~+ `
* i, q4 w; g! V在该示例中,`Ubuntu-20.04`发行版对应的虚拟磁盘名为`Ubuntu-20.04.vhdx`,容量根据实际使用情况而变化。您可以使用 Windows 资源管理器或命令行来查看虚拟磁盘文件的实际大小和占用空间。
7 \* J1 r: U" b* S% _; z2 Q1 s# k$ I- R6 ^) y7 n
如果您觉得 WSL 的这个默认磁盘大小不够,可以使用 `wsl --set-version <distro> <version>` 命令切换到 WSL 2 并重新创建 WSL 的虚拟硬盘,或者使用 `wsl --export <distro> <filename>` 导出并备份 WSL 发行版,然后使用 `wsl --import <new distro> <install folder> <filename>` 导入此备份并创建一个新的 WSL 发行版。在这些情况下,您可以提供自定义磁盘大小,例如:
/ R9 W! \6 u2 h  `, n6 |; o* P) [8 [
```4 [3 x5 `. ~% `; x. `  R* O
wsl --import Ubuntu-20.04-new D:\Ubuntu-20.04-new C:\Users\MyUser\Downloads\Ubuntu-20.04.tar.gz --version 2 --memory 4GB --processor 4 --filesystem
' c5 m$ D2 [2 w' W' L) v, H```
. R" w5 k& Q% c- k$ z! s# \& I: v: l+ |9 J
其中,`--memory`和`--processor`参数可用于自定义内存和处理器资源。`--filesystem`参数可用于自动调整文件系统大小。
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-5-18 08:28:56 来自手机 | 显示全部楼层
这个wsl可以和windows里或远程服务器上安装的mysql进行连接吗?
: V2 B4 ~1 V; x- B
  }- ^( {+ j. F4 B  `  h是的,您可以在 WSL 中安装并使用 MySQL,并与 Windows 系统或远程服务器上安装的 MySQL 前端以及其他应用程序进行连接。
' U1 D0 [/ ^* `# H, _0 ]/ n4 b9 s' x0 S% w2 D8 I# A6 s) V
以下是在 WSL 中使用 MySQL 的基本步骤:5 M% C7 ~" t1 F, N) T1 O5 C
6 H- N, `" Y/ G3 D
1. 在 WSL 发行版中安装 MySQL:
6 b0 F. c4 o; G! n, F3 B3 Q7 e3 N0 E* J
```
  y8 f+ }7 r  Q$ t3 z& R7 X! l" G& O/ ]sudo apt-get update
3 {8 T1 \" R3 Q. Wsudo apt-get install mysql-server. I# f/ p. Q' I$ S- z. I5 j9 F
```
$ e2 O0 J1 y0 S4 L4 U# L) X' ?; I3 }/ k, u4 p7 T7 O5 y/ g
2. 启动 MySQL 服务:- C8 H$ h+ @. [" U2 B# a; j' O# u) |
- F0 u9 |3 ?- g% |2 ]
```4 c% P: r; w; A. P4 w9 T# v( e- r
sudo service mysql start
; L$ ]# e7 S; ?9 w+ ]```! E3 _; M5 K* z: m/ S

4 ~8 `3 s" l6 A8 K2 u2 n3. 使用 `mysql_secure_installation` 命令设置 MySQL 的 root 用户密码以及其他安全选项。9 d5 Z' `8 X! E

9 W: F0 _+ `: ^) r4. 在 Windows 中安装 MySQL 客户端,例如 MySQL Workbench、Navicat 等,并连接到 WSL 中安装的 MySQL。
9 Q7 r  f: G* ?% Q' q' C$ P5 f8 Y% x% s( J* a3 }5 I
您可以在 MySQL 客户端中输入 WSL 发行版的 IP 地址和端口号(默认为 3306),然后输入 root 用户名和密码登录并开始操作 MySQL 数据库。
8 J( q% p7 ?% a& h! t# X+ G+ e" d  a1 r+ n' q! B" w7 R( \
如果您需要在 WSL 中访问远程服务器上安装的 MySQL,您可以使用相同的方法。只需要在 MySQL 客户端中输入远程服务器的 IP 地址和端口号,然后输入相应的用户名和密码即可连接并使用远程 MySQL 服务器。% R" G& H; @& h% g+ A& m
, J* Y! e7 ~* m/ z# c2 I
请注意,WSL 中的 MySQL 数据库文件存储在 WSL 子系统文件系统中,而不是 Windows 系统文件系统中,因此默认情况下,只能在 WSL 中访问和使用。如果您需要在 Windows 文件系统中访问 MySQL 数据库,可以将 MySQL 数据库文件存储在 Windows 文件系统中的目录中,并将其链接到 WSL 子系统中的目录中。这样,您就可以在 WSL 中访问并使用 Windows 文件系统中的 MySQL 数据库文件了。
欢迎定制:13928122889
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|通达创业无忧交流社区 ( 粤ICP备2023021749号|粤公网安备 44030402006137号 )

GMT+8, 2026-6-18 19:48 , Processed in 0.019124 second(s), 3 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表