找回密码
 立即注册
查看: 6862|回复: 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 及以上版本。' s% t( A2 V0 H* t$ F
' z1 o3 V! M) N6 c, O
您可以在 WSL 中安装和运行 Nginx,包括在 Windows 上仅运行 Nginx 的轻型 Linux 环境。- |& i5 J* Q  z% ^7 j' r% a# i
8 h2 z' Q  ~- H6 G* B( v' F- F
以下是在 WSL 中安装和运行 Nginx 的步骤:
$ k0 U  l0 w7 I1 x/ c& H
4 A0 \" X0 U+ c: b8 W! \' [0 `' V; V1.打开 Windows PowerShell 作为管理员,并启用 WSL:
! b. [9 n: J" b5 ~/ ~
5 F' O' b$ Y2 X```# @8 X2 U! y- t. J
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux  P" @% r) `( P4 o7 E
```- Z; F' v4 T' X! ~
- M0 _% J+ t" K
2. 安装适用于 Windows 的 Linux 发行版。您可以使用 Ubuntu、Debian、Arch Linux 等。
# D& o  X' }2 g5 f* @4 W0 c0 z6 z3 q9 \1 k% ?: W! `
3. 启动 Linux 发行版,并在 Linux 终端中运行以下命令以更新软件包列表:& O. o, I5 l( f- `5 B+ V" u
0 g; X4 w$ E( c# X; l7 c
```2 B9 s. R! x4 g" @8 T& i
sudo apt update+ w, j$ c! u6 T$ y$ l0 _6 w
```, A7 z/ w8 l! b" Z6 N9 x# e
1 `* }! H+ |5 s
4. 安装 Nginx:0 o7 B, n4 B" A! H2 e6 I

* }# P7 X( K8 x1 M7 l```+ U% F( t6 ^$ @4 G4 ]4 Z, T, Q' X
sudo apt install nginx; ^' k3 y( V; a: _
```2 n' q' ?) g# k- i* [
5 X3 H. m$ g; }$ d3 n
5. 配置 Nginx:在 Linux 终端中编辑 /etc/nginx/nginx.conf 文件来定义您的服务器。您可以手动编写 Nginx 配置文件,或者使用网络上现成的 Nginx 配置样板。
/ N8 ^$ Z' V- G4 d* K" R- R6 _6 ~' y+ \! ^
6. 启动 Nginx:
9 N) f" [8 q5 e3 ]5 P$ o3 k0 L! x$ |7 T- ~, O- z3 J# |
```; n( u" T" c  `/ a. }3 L' i3 c
sudo service nginx start
9 i3 P, U. @; a3 G' q8 K2 ^- E```
- {9 i- [, q# i. [) ?+ g4 q0 U$ Q) _4 o( o; }4 L8 ?. s8 {3 u
现在,您可以在 Windows 的浏览器中输入 localhost,以测试 Nginx 是否已成功运行。任何在 Linux 发行版和 Nginx 中进行的更改都将持久保存并在以后的会话中恢复。+ u* L# V, m5 \2 P# g% y

" ?- S; \  D+ C; y. c' S7 }请注意,WLS 主要用于命令行工具和轻型服务器应用,而不是针对图形界面应用和游戏。因此,WLS 可能不适合某些场景下的使用。
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-5-18 08:22:55 来自手机 | 显示全部楼层
那这个运行,在windows系统重新开始启动后,之前的安装,布署,设置还在吗?% _5 ~0 Z) H3 {5 a2 y( T
# R# ?' T$ E6 {0 X; d, l/ z/ ~
在 WSL 中,您的文件系统位于 Windows 文件系统中的专用虚拟硬盘(VHD)中,并且在重新启动 Windows 计算机后会恢复。这意味着您应该可以重新启动计算机并通过重新启动 WSL 发行版来访问您以前安装和部署的 Nginx 环境,您不需要重新安装。" F+ W# T! z% N/ ^5 }+ y  ~- ~
5 K7 r9 R) z7 N% m& ]
但是,如果您在 WSL 发行版中安装了依赖于 Windows 系统的应用程序,则需要重新安装它们。例如,在 WSL 中运行 MySQL 数据库需要安装 Windows 版本的 MySQL,因为 WSL 环境无法访问访问 Windows 文件系统中的 MySQL 数据库文件。
8 H* l' }$ `7 o- S2 s. E/ N
, X* x, M, C& \" ?# x注意,如果您按照上述步骤使用 WSL 安装和部署 Nginx,请确保使用适当的命令停止和启动 Nginx,以便在重新启动计算机后恢复服务。或者,您可以将它设置为作为 Windows 开机自启的服务运行,这样即使重新启动计算机,也可以仍然保持 Nginx 服务的运行。
2 @4 b% h5 T, q+ `4 D# a+ [' ?
6 Y0 a% O$ K# \- [! D: z1 g总之,在 WSL 中安装和部署 Nginx 时,只要您不删除 WSL 发行版的文件系统,重新启动 Windows 计算机应该不会影响您之前的安装设置。
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-5-18 08:28:18 来自手机 | 显示全部楼层
这个虚拟磁盘vhd占用多大的空间?
; P9 g9 U# {" j! p
- w- x) }! b; x8 }  `在 WSL 中,虚拟磁盘使用动态大小分配,这意味着只占用实际使用的空间。默认情况下,WSL 磁盘的容量约为250MB到3GB之间。
' n- N& c& P; a& a: T& M, [6 ~# s3 d2 K  a- S' ?! h. u
您可以使用`wsl --list --verbose`命令查看您的 WSL 发行版的磁盘使用情况。该命令会列出您的 WSL 发行版和对应的虚拟磁盘的位置和容量信息。例如:8 w8 ?8 o8 M$ |& {& t
+ t$ A( Q* Y5 q3 F  m/ E
```
2 |. R. T+ d+ x5 ~; E  NAME            STATE           VERSION         WSL  LOCATION
, w& B% d" q) H9 F+ b. U  @* Ubuntu-20.04    Running         2               Ubuntu-20.04.vhdx% R  S' A% `- C8 @# l5 T
```
* I/ |. B# L3 W9 M! @% U
% V+ J, {( C$ P7 _' S; a/ E  W在该示例中,`Ubuntu-20.04`发行版对应的虚拟磁盘名为`Ubuntu-20.04.vhdx`,容量根据实际使用情况而变化。您可以使用 Windows 资源管理器或命令行来查看虚拟磁盘文件的实际大小和占用空间。
' I, V7 W0 q0 V2 x7 @1 D$ `1 J& @
* U$ n. r/ G! X9 F; R如果您觉得 WSL 的这个默认磁盘大小不够,可以使用 `wsl --set-version <distro> <version>` 命令切换到 WSL 2 并重新创建 WSL 的虚拟硬盘,或者使用 `wsl --export <distro> <filename>` 导出并备份 WSL 发行版,然后使用 `wsl --import <new distro> <install folder> <filename>` 导入此备份并创建一个新的 WSL 发行版。在这些情况下,您可以提供自定义磁盘大小,例如:7 `# o$ J# e( ~9 a/ e. Z' M! ^# K

: ^1 |; q% j# d( q: ]8 s7 b" ````% g( f# Z$ p+ u$ |' ^" a" z
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
& N& X7 V( K. t) t( a5 _. \```
0 t' Q8 W) w: Y4 s5 n" p: \. @8 O# q2 F/ i; q$ L
其中,`--memory`和`--processor`参数可用于自定义内存和处理器资源。`--filesystem`参数可用于自动调整文件系统大小。
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-5-18 08:28:56 来自手机 | 显示全部楼层
这个wsl可以和windows里或远程服务器上安装的mysql进行连接吗?# W) O2 r; `" X6 V, ~
0 ^1 @/ Q2 A5 b8 z
是的,您可以在 WSL 中安装并使用 MySQL,并与 Windows 系统或远程服务器上安装的 MySQL 前端以及其他应用程序进行连接。
: `5 o0 \9 X% D. }6 H. g2 X6 r3 V1 q; B2 ?- ~7 z8 `6 Z- u& [4 q
以下是在 WSL 中使用 MySQL 的基本步骤:
( V, N$ [/ C. W" s& X7 k0 ?) x3 X) u
1. 在 WSL 发行版中安装 MySQL:
* ~9 z6 E7 U, ~3 e' G4 T, ^4 a6 m6 O3 e( u5 C
```( t# _6 j& r( h2 A
sudo apt-get update+ J& P) T3 q6 L) I- \7 R
sudo apt-get install mysql-server& L, ~) }; E: f  X  S1 V
```( {+ z1 b' R' H
3 y- r/ c+ `% W6 ^
2. 启动 MySQL 服务:
) ^+ E: a# G1 `. z1 j: _4 D. Q* e$ Y, E2 x/ C5 T5 m2 G
```( z+ N* X. C5 d
sudo service mysql start
, S& H" v' F0 m& M2 a0 x+ H```$ ^1 L. M$ k. q0 P: c) v

4 P9 R# L5 Y( x+ K- z' a3. 使用 `mysql_secure_installation` 命令设置 MySQL 的 root 用户密码以及其他安全选项。- d# K( C3 B6 s

; k+ |8 T; I0 A  {4. 在 Windows 中安装 MySQL 客户端,例如 MySQL Workbench、Navicat 等,并连接到 WSL 中安装的 MySQL。
% M% E0 H) c( @' l- \
0 [; g4 h- Q, b. j3 f1 ~' I您可以在 MySQL 客户端中输入 WSL 发行版的 IP 地址和端口号(默认为 3306),然后输入 root 用户名和密码登录并开始操作 MySQL 数据库。$ j  ?  y: r6 n5 p' M

; @& ?3 N5 O: C- ^' W0 v如果您需要在 WSL 中访问远程服务器上安装的 MySQL,您可以使用相同的方法。只需要在 MySQL 客户端中输入远程服务器的 IP 地址和端口号,然后输入相应的用户名和密码即可连接并使用远程 MySQL 服务器。/ {0 N/ Z$ o/ C. f+ g: E1 \
) Y, r9 ?# {" [) Y
请注意,WSL 中的 MySQL 数据库文件存储在 WSL 子系统文件系统中,而不是 Windows 系统文件系统中,因此默认情况下,只能在 WSL 中访问和使用。如果您需要在 Windows 文件系统中访问 MySQL 数据库,可以将 MySQL 数据库文件存储在 Windows 文件系统中的目录中,并将其链接到 WSL 子系统中的目录中。这样,您就可以在 WSL 中访问并使用 Windows 文件系统中的 MySQL 数据库文件了。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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