Alpine Linux 占用空间少,可定制性高,除了很适合跑 docker
容器外,也很适合跑在 wsl
中。
下载 WSL 版 Alpine Linux
打开链接 https://github.com/yuk7/AlpineWSL/releases 找到系统对应的 Alpine 版本,如 Alpine.zip,解压到你想要存放的位置,点击 Alpine.exe
文件即可安装好。
安装好后,将在 Alpine.exe
所在文件夹中创建 ext4.vhdx
虚拟磁盘文件,作为 AlpineLinux 的磁盘。控制台执行命令 wsl -l -v
,将看到新安装的 wsl 发行版 Alpine
。
启动 Alpine
命令 wsl -d Alpine
使用国内镜像源
打开源配置:
1
| vi /etc/apk/repositories
|
注释掉默认源:
1 2
| #https://dl-cdn.alpinelinux.org/alpine/v3.18/main #https://dl-cdn.alpinelinux.org/alpine/v3.18/community
|
加入阿里源配置:
1 2
| http://mirrors.aliyun.com/alpine/v3.19/main http://mirrors.aliyun.com/alpine/v3.19/community
|
或 加入腾讯源配置:
1 2
| https://mirrors.cloud.tencent.com/alpine/v3.19/main https://mirrors.cloud.tencent.com/alpine/v3.19/community
|
执行更新命令更新源数据和已安装的apk包:
部署PHP 8.2
1 2 3 4 5
| apk add php82 php82-pear php82-dev php82-pdo_mysql \ php82-iconv php82-mbstring php82-tokenizer \ php82-session php82-dom curl php82-curl \ php82-xmlwriter php82-fileinfo php82-posix \ redis php82-pecl-redis
|
把 82
改为 81
或 83
即为安装 php-8.1 或 php-8.3
如果出现错误,apk add gcc
,``
如果安装 php-8.1 出现一下错误:
1 2 3 4 5 6 7
| ERROR: unable to select packages: php81-pecl-msgpack-2.2.0-r0: conflicts: php82-pecl-msgpack-2.2.0-r0[php-msgpack=2.2.0-r0] satisfies: php81-pecl-redis-6.0.2-r0[php81-pecl-msgpack] php82-pecl-msgpack-2.2.0-r0: conflicts: php81-pecl-msgpack-2.2.0-r0[php-msgpack=2.2.0-r0] satisfies: php82-pecl-redis-6.0.2-r0[php82-pecl-msgpack]
|
安装脚本中去掉 php82-pecl-redis
再执行。
php8 版本切换
如果同时安装多个 php
版本,可通过脚本来更换默认版本php。
创建脚本 vi /usr/php-switch
,输入以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/bin/bash cd /usr/bin
rm -f php php-config phpize pecl phar phar.phar
v=${1:-82}
ln -s php${v} php ln -s php-config${v} php-config ln -s phpize${v} phpize ln -s pecl${v} pecl ln -s phar.phar${v} phar ln -s phar.phar${v} phar.phar
echo '已切换到php'$v
|
设置权限为可执行 chmod +x /usr/php-switch
。
1 2 3 4 5 6 7 8
| php-switch
php-switch 81
php-switch 83
|
安装 Nodejs
1
| apk add icu-data-full nodejs npm
|