发布时间:2025-12-10 11:34:05 浏览次数:2
快速安装php8.2套件(ubuntu 20.04 focal)
到底有多快?我这边尝试的结果是总共大约 20 分钟左右(不含操作系统)。
另外,同样是我的电脑,同样阿里云镜像库,装 centos 系统各类软件含 php 就很快,但装这个 ubuntu 就比较慢,原因不太清楚(可能的一个原因是因为 ubuntu 用的人太多,阿里限制了源的下载速率来稍微省点钱。)。
本文各软件版本
ubuntu 20.04
php 8.2.1
nginx 1.22.1
mysql 8.0.31
redis 7.0.7
git 2.24.4
首先,安装阿里的 仓库
首先必须 apt update安装 vimvim /etc/apt/sources.list内容如下,就是搞阿里云镜像。但是http的,被我改的。不搞无法更新。deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse然后apt updateapt install -y --reinstall ca-certificates现在,再把阿里云镜像库中的 http 改成标准的 https,vim /etc/apt/sources.listdeb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversedeb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse然后。再次apt update安装 php 8
apt install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils systemd gnupg2 lsb-release ubuntu-keyring上面的命令需要选择多个选项。选亚洲 asia。选上海 shanghaicurl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /usr/share/keyrings/ppa_ondrej_php.gpg > /dev/nullecho "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main" > /etc/apt/sources.list.d/ppa_ondrej_php.listapt-get updateapt-get install -y php8.2-cli php8.2-dev php8.2-pgsql php8.2-sqlite3 php8.2-gd php8.2-curl php8.2-imap php8.2-mysql php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath php8.2-soap php8.2-intl php8.2-readline php8.2-ldap php8.2-msgpack php8.2-igbinary php8.2-redis php8.2-swoole php8.2-memcached php8.2-pcov php8.2-fpm php8.2-gmp php8.2-imagick php8.2-mcrypt php8.2-uuid php8.2-yaml执行上面这些命令,大约 15 分钟左右,主要耗时就是这里。
安装阿里的 composer 镜像源
curl -o /usr/local/bin/composer https://mirrors.aliyun.com/composer/composer.pharchmod +x /usr/local/bin/composercomposer config -g repo.packagist composer https://mirrors.aliyun.com/composer/使用 root 身份执行 composer 命令,会提示输入 yes ,挺麻烦,则
vim /etc/environment文字
export COMPOSER_ALLOW_SUPERUSER=1然后
source /etc/environment安装 nginx 并整合 php-fpm 服务
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/nullgpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.listapt updateapt install nginx改php-fpm 配置。sed -i 's/listen\ =\ \/run\/php\/php8.2-fpm.sock/listen\ =\ 127.0.0.1:9000/g' /etc/php/8.2/fpm/pool.d/www.conf修改 /etc/nginx/nginx.conf第一行 user www-data;然后,rm -f /etc/nginx/conf.d/default.confvi /etc/nginx/conf.d/default.conf/etc/nginx/conf.d/default.conf 文件内容如下server {listen 80;server_name localhost;charset utf-8 ;access_log /var/log/nginx/host.access.log main;root /usr/share/nginx/html;index index.php index.html index.htm;error_page 404 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}location / {try_files $uri $uri/ /index.php?$query_string;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;include fastcgi_params;}}添加一个 php 文件如下:
vi /usr/share/nginx/html/1.php<?phpphpinfo();启动 php-fpm 和 nginx 并验证安装正确
/etc/init.d/nginx start/etc/init.d/php8.2-fpm startcurl localhost/1.php# 如果能看到很多的大量输出,说明php和nginx正确安装了。安装 mysql 8
apt install mysql-server-8.0 mysql-client-8.0# 查看初始密码:grep 'temporary password' /var/log/mysqld.log# 用查看到的密码进入mysql 的 shellmysql -uroot -p下面,整套设置新用户流程,先改初始,再加新用户并授权,再删除老用户。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tb4Wn3BthR.';flush privileges;create user 'root'@'%' identified by 'root1234';ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root1234';GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';drop user root@localhost;flush privileges;退出 shell,重新进入。
现在就可以直接进入 shell
mysql -uroot -proot1234# 这句话查看用户的加密方式。select user, host, plugin from mysql.user\G;# plugin: caching_sha2_password 表示老的MySQL客户端无法连接!安装 redis 6 以及其他常用库
说明,安装 redis 7 需要下二进制包编译,坚决不编译,所以没搞。
curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.listapt-get updateapt-get install redis-stack-server注意和上面版本不同,如想安装 redis5
如想redis5,啥源都不需要,直接
apt install redis-server