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

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

[复制链接]

556

主题

688

回帖

4727

积分

管理员

积分
4727
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+ \; e% o, S- O8 o& j) f6 ]( ~
1 m* Y+ }# c% v( Y+ f7 M
您可以在 WSL 中安装和运行 Nginx,包括在 Windows 上仅运行 Nginx 的轻型 Linux 环境。
4 L& X1 }0 A  o- V( ~  Q
, ]9 ^- A* Z1 A# L( i" M以下是在 WSL 中安装和运行 Nginx 的步骤:4 \  c# N! h, K: Y+ V

4 C: T5 N, ?- E0 @8 W1.打开 Windows PowerShell 作为管理员,并启用 WSL:8 T4 J* ?' B0 t' |8 c# r

, p- r  h. {& ^  g```
7 J* I% Q- \. v# bEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux# C  J0 C' n; i# p/ v
```* }4 N. h8 M' G; `9 l* m

* {. |2 L; M: D4 X7 g5 X2. 安装适用于 Windows 的 Linux 发行版。您可以使用 Ubuntu、Debian、Arch Linux 等。
2 _# R! I' m, A& n) _9 P) d! u2 u* S  U7 H4 K
3. 启动 Linux 发行版,并在 Linux 终端中运行以下命令以更新软件包列表:! i/ W& z$ z) w

& \; g+ X# V) h0 w  b  c# k```4 @6 L0 O$ {  a) W1 |
sudo apt update
/ x; e3 n, l; a0 E7 x& P" j```- M3 {. J9 K3 n/ L3 @! F# Y

; N0 l( ~. z, Y7 r/ R+ W3 X4. 安装 Nginx:
. F- g5 |! b: i* n3 j$ T, Y1 U2 J6 p" V
```
: i# ]- s' A4 u9 q* f, Zsudo apt install nginx
: o1 v& K: |- T```
% E1 p- k- o& e, g: N& U, _
- F$ s1 `! F" P. `/ s5. 配置 Nginx:在 Linux 终端中编辑 /etc/nginx/nginx.conf 文件来定义您的服务器。您可以手动编写 Nginx 配置文件,或者使用网络上现成的 Nginx 配置样板。
1 d7 r0 k' j; B
/ E' y8 \* ~$ i9 p) o, s* R6. 启动 Nginx:. y' W& r. U6 B% h

, C. T- [' f$ y% q( e$ }( V  i* ^```
" d2 C4 O% @2 ]: m# Wsudo service nginx start4 [) B3 d$ s% K, ~; v2 \6 M. R; W
```
/ ]* k& w! E" e2 e! u5 ^, h3 e  h9 T
现在,您可以在 Windows 的浏览器中输入 localhost,以测试 Nginx 是否已成功运行。任何在 Linux 发行版和 Nginx 中进行的更改都将持久保存并在以后的会话中恢复。; D# ~7 z/ U" S1 k
  ?7 i! |. H$ ~  e: _/ O
请注意,WLS 主要用于命令行工具和轻型服务器应用,而不是针对图形界面应用和游戏。因此,WLS 可能不适合某些场景下的使用。
欢迎定制:13928122889
回复

使用道具 举报

556

主题

688

回帖

4727

积分

管理员

积分
4727
QQ
 楼主| 发表于 2023-5-18 08:22:55 来自手机 | 显示全部楼层
那这个运行,在windows系统重新开始启动后,之前的安装,布署,设置还在吗?
2 |# F8 C1 k( y5 O- ^9 g0 z+ {; T% R3 e) m9 G: |
在 WSL 中,您的文件系统位于 Windows 文件系统中的专用虚拟硬盘(VHD)中,并且在重新启动 Windows 计算机后会恢复。这意味着您应该可以重新启动计算机并通过重新启动 WSL 发行版来访问您以前安装和部署的 Nginx 环境,您不需要重新安装。
$ u3 `. ~: C. w8 y" a" |* _1 Y
- Y+ s7 _: \6 z- y; \6 [& t但是,如果您在 WSL 发行版中安装了依赖于 Windows 系统的应用程序,则需要重新安装它们。例如,在 WSL 中运行 MySQL 数据库需要安装 Windows 版本的 MySQL,因为 WSL 环境无法访问访问 Windows 文件系统中的 MySQL 数据库文件。
( G1 [- f' d) S' L8 G, a1 K: p- l( s- S4 e) E( K
注意,如果您按照上述步骤使用 WSL 安装和部署 Nginx,请确保使用适当的命令停止和启动 Nginx,以便在重新启动计算机后恢复服务。或者,您可以将它设置为作为 Windows 开机自启的服务运行,这样即使重新启动计算机,也可以仍然保持 Nginx 服务的运行。% }! g8 Q; {8 m  a5 e8 ?/ R
6 N' r8 b+ A  B7 z1 ^
总之,在 WSL 中安装和部署 Nginx 时,只要您不删除 WSL 发行版的文件系统,重新启动 Windows 计算机应该不会影响您之前的安装设置。
欢迎定制:13928122889
回复

使用道具 举报

556

主题

688

回帖

4727

积分

管理员

积分
4727
QQ
 楼主| 发表于 2023-5-18 08:28:18 来自手机 | 显示全部楼层
这个虚拟磁盘vhd占用多大的空间?, L& P6 [: W0 A+ h

5 Q! X0 Q: Y" e9 v在 WSL 中,虚拟磁盘使用动态大小分配,这意味着只占用实际使用的空间。默认情况下,WSL 磁盘的容量约为250MB到3GB之间。
2 }8 r, Z* d4 B0 x; h. w( D7 z9 z+ _! p9 K  h' V
您可以使用`wsl --list --verbose`命令查看您的 WSL 发行版的磁盘使用情况。该命令会列出您的 WSL 发行版和对应的虚拟磁盘的位置和容量信息。例如:; Z# |! Q; V& s+ M

: W: p& c# L  Z7 K% D/ d```8 ]' F; B; H- H# x
  NAME            STATE           VERSION         WSL  LOCATION
$ W4 }3 ?" d3 @) |1 z6 Y* Ubuntu-20.04    Running         2               Ubuntu-20.04.vhdx) ^* J/ p9 c' Y5 }. U% u
```4 U- U4 l2 C8 `' h, r
1 B, ]  j$ E& {
在该示例中,`Ubuntu-20.04`发行版对应的虚拟磁盘名为`Ubuntu-20.04.vhdx`,容量根据实际使用情况而变化。您可以使用 Windows 资源管理器或命令行来查看虚拟磁盘文件的实际大小和占用空间。
- C! s# ?) p& X. |' {& r7 V9 C" N0 L& O3 t2 a/ f) @7 B2 x) b$ Y
如果您觉得 WSL 的这个默认磁盘大小不够,可以使用 `wsl --set-version <distro> <version>` 命令切换到 WSL 2 并重新创建 WSL 的虚拟硬盘,或者使用 `wsl --export <distro> <filename>` 导出并备份 WSL 发行版,然后使用 `wsl --import <new distro> <install folder> <filename>` 导入此备份并创建一个新的 WSL 发行版。在这些情况下,您可以提供自定义磁盘大小,例如:" f* E8 @: d4 F0 ]& ~* R& h) [
& g! q% [7 Z' c2 s- M& R
```
$ m) d1 x& r0 c7 nwsl --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
. |# Y5 L* R2 W$ A) u/ E! |0 F``` ' |* h7 N5 d9 B( u6 l6 |
0 a9 T! w/ x2 [: h. U
其中,`--memory`和`--processor`参数可用于自定义内存和处理器资源。`--filesystem`参数可用于自动调整文件系统大小。
欢迎定制:13928122889
回复

使用道具 举报

556

主题

688

回帖

4727

积分

管理员

积分
4727
QQ
 楼主| 发表于 2023-5-18 08:28:56 来自手机 | 显示全部楼层
这个wsl可以和windows里或远程服务器上安装的mysql进行连接吗?
7 s2 i9 P; L6 U' P3 ?2 F  D
4 t/ C- c, X7 b是的,您可以在 WSL 中安装并使用 MySQL,并与 Windows 系统或远程服务器上安装的 MySQL 前端以及其他应用程序进行连接。' k: p% ]* |8 R

& U0 r& N0 e( N5 ?- P/ r以下是在 WSL 中使用 MySQL 的基本步骤:
  f2 o, ~: n0 {! N
3 P( E7 A6 K+ j0 v9 u' M1. 在 WSL 发行版中安装 MySQL:$ e, h: N! {" g, E& a2 b

/ Z. j" ?3 S$ p6 ~```# ~) a4 W; D# l" ?
sudo apt-get update
& e$ [. s4 P+ z$ Isudo apt-get install mysql-server
3 H1 o/ T6 l. l! G: C6 l```$ Y6 |! q" Y0 b& v

/ z4 |4 w$ c& x2 u, Z) D! O2. 启动 MySQL 服务:2 A; w: t3 m0 W9 t: _

) `7 H8 r9 a% K; F$ p# D```
) |4 `! d" G% Fsudo service mysql start
6 b( P, _9 J/ @( X- O% w' x+ `& p```
0 x, q& v8 o) a1 P* e) M- ~* y8 k- P* o  Z0 s5 o
3. 使用 `mysql_secure_installation` 命令设置 MySQL 的 root 用户密码以及其他安全选项。- V* c& o3 I# e7 x5 K3 f! n# i% v' U

+ q- Y1 {+ T" Y8 r/ U/ T4. 在 Windows 中安装 MySQL 客户端,例如 MySQL Workbench、Navicat 等,并连接到 WSL 中安装的 MySQL。, C9 B# b4 r1 L/ @. m
7 I( Q7 \2 l! a, W9 E$ Q. r& ?
您可以在 MySQL 客户端中输入 WSL 发行版的 IP 地址和端口号(默认为 3306),然后输入 root 用户名和密码登录并开始操作 MySQL 数据库。
4 }& }) G" _- W% T
: c0 l6 b1 ], x6 U! G( |如果您需要在 WSL 中访问远程服务器上安装的 MySQL,您可以使用相同的方法。只需要在 MySQL 客户端中输入远程服务器的 IP 地址和端口号,然后输入相应的用户名和密码即可连接并使用远程 MySQL 服务器。5 T. ?4 Y# w! w
1 m% s5 B4 @3 d- C3 j0 i
请注意,WSL 中的 MySQL 数据库文件存储在 WSL 子系统文件系统中,而不是 Windows 系统文件系统中,因此默认情况下,只能在 WSL 中访问和使用。如果您需要在 Windows 文件系统中访问 MySQL 数据库,可以将 MySQL 数据库文件存储在 Windows 文件系统中的目录中,并将其链接到 WSL 子系统中的目录中。这样,您就可以在 WSL 中访问并使用 Windows 文件系统中的 MySQL 数据库文件了。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-12 07:55 , Processed in 0.012144 second(s), 3 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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