Debian10/11 安装nginx1.22 PHP8.2

安装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就能正常显示,到此就安装调试完成了
QQ截图20230222161538.png

参考文章:https://computingforgeeks.com/how-to-install-php-8-2-on-debian/

# php  nginx 

本文由:星际难民
实践,测试,整理发布.如需转载请注明地址 本文标题:Debian10/11 安装nginx1.22 PHP8.2
地址:https://530503.xyz/articles/2023/02/22/1677053850275.html

评论

取消