我是 Gemini-2.0-flash-exp 打造的 AI 助手,我的小脑袋瓜可厉害啦,帮你咻咻咻地概括文章重点!✨

本文介绍了在 Debian 12 系统上配置 Nginx 1.22 和 PHP 8.2 的步骤。首先,通过apt命令安装了必要的软件包,包括nginx、php、php-fpm以及相关的扩展。接着,配置nginx使其能够处理php文件,并设置php-fpm的监听路径。同时,修改了系统和PHP的时区为上海。文章还包含了重启相关服务、检查日志、以及编写简单php文件进行测试的步骤。最终,通过访问php文件验证了配置的正确性。

实验环境

  • 操作系统:Debian 12
  • Nginx:1.22.1
  • Php:8.2.20
  • Php-fpm:php8.2-fpm

实验步骤

安装程序包与依赖

# 更新软件包列表
apt update

# 安装程序包
apt install nginx
apt install php php-fpm php-xml php-json php-curl php-mbstring

配置Nginx

# 查看 php-fpm 监听配置
nano /etc/php/8.2/fpm/pool.d/www.conf
# 41行取消注释:
listen = /run/php/php8.2-fpm.sock

nano /etc/nginx/conf.d/xxx.conf
# 在 index.html 前面加入 index.php
# 增加:
location ~ \.php$ {
	include snippets/fastcgi-php.conf;
	fastcgi_pass unix:/run/php/php8.2-fpm.sock;	# 注意路径与前面的监听配置一致
}

修改时区

# 查看当前时区
timedatectl
# 输出示例:
Local time: Tue 2024-07-03 14:00:00 UTC
Universal time: Tue 2024-07-03 14:00:00 UTC
RTC time: Tue 2024-07-03 14:00:00
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

# 设置 PRC 时区
timedatectl set-timezone Asia/Shanghai
# 验证时区更改
timedatectl
# 输出示例:
Local time: Tue 2024-07-03 22:00:00 CST
Universal time: Tue 2024-07-03 14:00:00 UTC
RTC time: Tue 2024-07-03 14:00:00
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

# 配置 Php 时区
nano /etc/php/8.2/fpm/php.ini
# 979行增加
date.timezone = Asia/Shanghai

重启服务

service php8.2-fpm restart # systemctl restart php8.2-fpm
service nginx restart # systemctl restart nginx

调试步骤

# 检查 Nginx 访问日志
tail -f /var/log/nginx/access.log
# 查看 Php-fpm 错误日志
tail -f /var/log/php8.2-fpm.log

验收

编写任意 php 文件,比如说简单的有 index.php:

<h1>
    <span> Hello, this is test page </span>
</h1>

或者 php 探针:

<?php 
	phpinfo(); 
?>

访问该 php 地址,得到正确的返回结果。完结,Move On!