安装Nginx1.22
1.先安装一些依赖包
apt install gnupg1 lsb-release apt-transport-https ca-certificates
2.添加 Nginx 存储库
vim /etc/apt/sources.list
Debian10 写入
deb https://nginx.org/packages/debian/ buster nginx
deb-src https://nginx.org/packages/debian/ buster nginx
Debian11 写入
deb https://nginx.org/packages/debian/ bullseye nginx
deb-src https://nginx.org/packages/debian/ bullseye nginx
3.导入 Nginx 存储库 GPG 密钥
wget https://nginx.org/keys/nginx_signing.key && gpg1 --dearmor nginx_signing.key && mv nginx_signing.key.gpg /etc/apt/trusted.gpg.d/nginx.gpg
4.更新存储库安装Nginx
apt update && apt install nginx
5.检查版本
nginx -v
nginx version: nginx/1.22.0
安装PHP8.2
1.添加存储库
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
2.导入存储库 GPG 密钥
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
3.更新软件源
apt update
4.安装php8.2
直接用apt install php8.2
安装会额外安装apache2 而且直接启动了,但我们要用的是Nginx
使用 --no-install-recommends
选项可以阻止安装apache2
apt install --no-install-recommends php8.2
5.查看版本
php -v
PHP 8.2.3 (cli) (built: Feb 14 2023 16:53:46) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.3, Copyright (c) Zend Technologies
with Zend OPcache v8.2.3, Copyright (c), by Zend Technologies
6.安装 PHP 8.2 扩展
下面的示例,演示了 PHP 模块的安装
cli,zip,mysql,bz2,curl,mbstring,intl,common,gd
apt install php8.2-{cli,zip,mysql,bz2,curl,mbstring,intl,common,gd,xml}
可以使用命令语法安装任何其他模块
apt install php8.2-<扩展名>
<扩展名>
替换为要安装的 PHP 模块的名称
PHP 8.2 与 Nginx 结合使用
在 Nginx 中,PHP 代码通常由一个单独的进程执行,例如 PHP-FPM(FastCGI 进程管理器)。PHP-FPM是一个监听传入的PHP请求的守护进程,并在一个单独的进程中运行它们。Nginx作为一个反向代理,将传入的请求转发给PHP-FPM来执行。
1.安装 php8.2-fpm
apt install php8.2-fpm
一旦Nginx和FPM扩展被安装,需要配置Nginx使用FastCGI协议将传入的请求转发给PHP-FPM。编辑Nginx的配置文件,加入以下内容,配置Nginx将PHP请求转发给PHP-FPM。
2.Nginx配置
编辑default.conf
vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html;
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
3.进行更改后验证 Nginx 配置
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4.创建一个 info.php 测试
vim /usr/share/nginx/html/info.php
<?php
phpinfo();
?>
5.502 错误
打开 ip/info.php 出现502 错误,出现此错误是由于权限不足
可以使用以下命令把Nginx添加到与www-data运行的用户同组
usermod -a -G www-data nginx
再次打开info.php
就能正常显示,到此就安装调试完成了
参考文章:https://computingforgeeks.com/how-to-install-php-8-2-on-debian/