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

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

[复制链接]

581

主题

706

回帖

4842

积分

管理员

积分
4842
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 及以上版本。' z7 \: w: @$ k
3 F* w. E- t/ X7 Z
您可以在 WSL 中安装和运行 Nginx,包括在 Windows 上仅运行 Nginx 的轻型 Linux 环境。
3 w7 n- x8 d9 v9 g" ?/ K; c9 ^7 d# O
以下是在 WSL 中安装和运行 Nginx 的步骤:
, ^$ r6 j9 k* D* j1 i; n5 T7 Y+ U% W/ ^, p! h/ j/ S9 m& y1 x
1.打开 Windows PowerShell 作为管理员,并启用 WSL:9 ?( {7 Y* l8 d- r+ m9 [& I

: ~0 ^( @$ o% i( o```
4 ~0 B1 Q6 o" G4 m0 y: U' t* Z1 FEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
* I, t( z4 D, M! k! N' \```
  G& a: N& A; l% \
; ~/ c5 _* S3 \2 t5 i& R2. 安装适用于 Windows 的 Linux 发行版。您可以使用 Ubuntu、Debian、Arch Linux 等。
! X8 f7 S% C/ U7 K4 [' q; q; Y
' o& f4 l" G$ D4 f4 \3. 启动 Linux 发行版,并在 Linux 终端中运行以下命令以更新软件包列表:) z1 p5 {, U# U0 |+ F0 D; H

" w2 J0 r5 G9 g; }; @+ g```
! a: K. B, `5 A. L; j/ _) tsudo apt update
8 a( v4 g: [0 i; g% v  S# m' J3 C3 G```7 ]& ^; k1 z+ C# h& p/ G5 o2 P

  Z7 U/ \7 D/ Z; m( a! h( c4. 安装 Nginx:
* U) \5 i. f6 L* ^* e: {
0 x. @0 [7 s5 f- _```
( ~0 s: `+ w- l# @3 r% wsudo apt install nginx" u+ R: u% b* I: J" H
```
8 w8 @' q- p' L' M; p' e/ Z$ @, Y: R
, }, Z' o& z7 u. ?& f# G; ~' q6 U5. 配置 Nginx:在 Linux 终端中编辑 /etc/nginx/nginx.conf 文件来定义您的服务器。您可以手动编写 Nginx 配置文件,或者使用网络上现成的 Nginx 配置样板。
3 q# A2 i9 r! ^  E
) f3 h& R! E5 S" ^6 ?6. 启动 Nginx:
9 r7 O; s4 x9 ^% _3 N9 g+ z+ J/ \! _1 q" T- M
```
+ Q& q% b& h% Y& e6 Xsudo service nginx start2 Y5 r& r" E) Q( ^5 z- x
```2 E4 Z% B; `2 y# o3 }: v5 i. _

: e3 E& t$ |6 ^% _1 e现在,您可以在 Windows 的浏览器中输入 localhost,以测试 Nginx 是否已成功运行。任何在 Linux 发行版和 Nginx 中进行的更改都将持久保存并在以后的会话中恢复。2 C- N4 N4 H- M& U. L, I% ^

! R' _( B! O8 O8 p* J4 Q4 C请注意,WLS 主要用于命令行工具和轻型服务器应用,而不是针对图形界面应用和游戏。因此,WLS 可能不适合某些场景下的使用。
欢迎定制:13928122889
回复

使用道具 举报

581

主题

706

回帖

4842

积分

管理员

积分
4842
QQ
 楼主| 发表于 2023-5-18 08:22:55 来自手机 | 显示全部楼层
那这个运行,在windows系统重新开始启动后,之前的安装,布署,设置还在吗?3 @7 w7 a5 t6 c7 h$ w4 Z3 J5 {2 W
7 M) w$ g6 F' C6 c: h. k+ k
在 WSL 中,您的文件系统位于 Windows 文件系统中的专用虚拟硬盘(VHD)中,并且在重新启动 Windows 计算机后会恢复。这意味着您应该可以重新启动计算机并通过重新启动 WSL 发行版来访问您以前安装和部署的 Nginx 环境,您不需要重新安装。# _* ?/ T3 Y4 K; N

7 L  Q8 P' X8 Y% Z: H但是,如果您在 WSL 发行版中安装了依赖于 Windows 系统的应用程序,则需要重新安装它们。例如,在 WSL 中运行 MySQL 数据库需要安装 Windows 版本的 MySQL,因为 WSL 环境无法访问访问 Windows 文件系统中的 MySQL 数据库文件。
$ r$ f: b6 V) ^2 Z% h
, j2 ?* `# A4 ^- X  F5 o注意,如果您按照上述步骤使用 WSL 安装和部署 Nginx,请确保使用适当的命令停止和启动 Nginx,以便在重新启动计算机后恢复服务。或者,您可以将它设置为作为 Windows 开机自启的服务运行,这样即使重新启动计算机,也可以仍然保持 Nginx 服务的运行。
0 o( Y( K3 c' G, \, U. _
; \% }+ d2 _) `! {总之,在 WSL 中安装和部署 Nginx 时,只要您不删除 WSL 发行版的文件系统,重新启动 Windows 计算机应该不会影响您之前的安装设置。
欢迎定制:13928122889
回复

使用道具 举报

581

主题

706

回帖

4842

积分

管理员

积分
4842
QQ
 楼主| 发表于 2023-5-18 08:28:18 来自手机 | 显示全部楼层
这个虚拟磁盘vhd占用多大的空间?1 o& {0 [; X5 Z% F
, C8 Z' Z8 U  D# o1 k6 u
在 WSL 中,虚拟磁盘使用动态大小分配,这意味着只占用实际使用的空间。默认情况下,WSL 磁盘的容量约为250MB到3GB之间。
  h0 I& o% @4 u9 [! [& `( p% `' q; G: {* C4 P+ P
您可以使用`wsl --list --verbose`命令查看您的 WSL 发行版的磁盘使用情况。该命令会列出您的 WSL 发行版和对应的虚拟磁盘的位置和容量信息。例如:. s; t( W0 r1 u; X& v, }
( t( \  A9 ~0 E& g
```8 y4 |, I6 e/ ]0 A
  NAME            STATE           VERSION         WSL  LOCATION3 @! Q0 E* i9 n# z$ X: V  m, n- Q$ T
* Ubuntu-20.04    Running         2               Ubuntu-20.04.vhdx* B# J% X7 e5 i5 R
```
& m0 n# [+ O3 H: m9 V9 }% s5 [6 |6 b* W7 G$ x
在该示例中,`Ubuntu-20.04`发行版对应的虚拟磁盘名为`Ubuntu-20.04.vhdx`,容量根据实际使用情况而变化。您可以使用 Windows 资源管理器或命令行来查看虚拟磁盘文件的实际大小和占用空间。+ ]4 [* H9 _& P& Y- f

8 m& ~( }) y! {0 P3 g如果您觉得 WSL 的这个默认磁盘大小不够,可以使用 `wsl --set-version <distro> <version>` 命令切换到 WSL 2 并重新创建 WSL 的虚拟硬盘,或者使用 `wsl --export <distro> <filename>` 导出并备份 WSL 发行版,然后使用 `wsl --import <new distro> <install folder> <filename>` 导入此备份并创建一个新的 WSL 发行版。在这些情况下,您可以提供自定义磁盘大小,例如:  g  a7 r- V" u. y  u* b8 z$ Z

3 Z/ L2 f- n* p```
5 U! e+ l. J  ?# Mwsl --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
- o: g$ _$ `* y1 r/ b```
+ V6 i- d2 I; j$ {1 _: i
+ Z6 U( d; i, g! v( u其中,`--memory`和`--processor`参数可用于自定义内存和处理器资源。`--filesystem`参数可用于自动调整文件系统大小。
欢迎定制:13928122889
回复

使用道具 举报

581

主题

706

回帖

4842

积分

管理员

积分
4842
QQ
 楼主| 发表于 2023-5-18 08:28:56 来自手机 | 显示全部楼层
这个wsl可以和windows里或远程服务器上安装的mysql进行连接吗?0 l7 t' b% I; U. ^' G" x5 N' u
) i2 ]4 o$ _5 {& k' w: J- J, S3 B
是的,您可以在 WSL 中安装并使用 MySQL,并与 Windows 系统或远程服务器上安装的 MySQL 前端以及其他应用程序进行连接。
8 P% m! `# [; ~6 e+ s. B' b
+ x& {$ J* M7 X+ u/ L3 V以下是在 WSL 中使用 MySQL 的基本步骤:  f9 d; v3 C, U: g& Y/ Q
/ Y, N# r, r' |/ o7 V1 v
1. 在 WSL 发行版中安装 MySQL:, T7 v& R4 i9 c1 m) _* [

2 |6 J& ^1 \* ^+ V5 ?```
" w6 Z. \1 Q/ e* }& D1 [. R1 W) Dsudo apt-get update
$ Y6 T. v% Y5 Gsudo apt-get install mysql-server
& `$ S7 x8 a1 c3 H  b" ~8 n```
: x* L% c( L  S6 e- u9 h
  C7 f1 Z: [9 T) J* y1 [; ^8 I( [2. 启动 MySQL 服务:
: R0 m0 c0 q/ F$ U6 k3 E  o& {9 }3 U9 Z% D" F4 w6 {# t8 |+ ~( ?) [9 s! B
```( P9 M5 z5 I  R- S' }9 Q
sudo service mysql start7 v$ d$ v: S- x4 [2 F+ J
```
! f4 X" u" l# K+ j4 D
9 Q" z# \! d  N( ~) R  C5 ^3. 使用 `mysql_secure_installation` 命令设置 MySQL 的 root 用户密码以及其他安全选项。! D* l% y' T, H& z+ F
0 I$ r- Y- }1 u# z# F
4. 在 Windows 中安装 MySQL 客户端,例如 MySQL Workbench、Navicat 等,并连接到 WSL 中安装的 MySQL。
4 t) U) W/ I5 ?: _. v/ V! `
/ e. }' j& ]( [" W0 a5 E  r您可以在 MySQL 客户端中输入 WSL 发行版的 IP 地址和端口号(默认为 3306),然后输入 root 用户名和密码登录并开始操作 MySQL 数据库。( J5 _* R9 A& O9 _# g6 b8 ^

9 A; P9 d+ x3 L如果您需要在 WSL 中访问远程服务器上安装的 MySQL,您可以使用相同的方法。只需要在 MySQL 客户端中输入远程服务器的 IP 地址和端口号,然后输入相应的用户名和密码即可连接并使用远程 MySQL 服务器。
2 j0 t7 {; L, E7 G/ ^, u( ~7 b- V
) K- w' B! M0 W* ]# d请注意,WSL 中的 MySQL 数据库文件存储在 WSL 子系统文件系统中,而不是 Windows 系统文件系统中,因此默认情况下,只能在 WSL 中访问和使用。如果您需要在 Windows 文件系统中访问 MySQL 数据库,可以将 MySQL 数据库文件存储在 Windows 文件系统中的目录中,并将其链接到 WSL 子系统中的目录中。这样,您就可以在 WSL 中访问并使用 Windows 文件系统中的 MySQL 数据库文件了。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-2 06:52 , Processed in 0.011914 second(s), 3 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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