首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在 Ubuntu 20.04 上为 Nginx 安装 PHP 8.1

如何在 Ubuntu 20.04 上为 Nginx 安装 PHP 8.1

原创
作者头像
后浪云IDCNET
发布2025-09-24 11:51:48
发布2025-09-24 11:51:48
1090
举报
文章被收录于专栏:IDC.NETIDC.NET

在 Ubuntu 20.04 服务器上配置 PHP 8.1 与 Nginx 的组合,可以高效运行动态 Web 应用程序。本文提供了一步步的指南,帮助您安装和配置 PHP 8.1 与 Nginx,确保 Web 服务器性能和兼容性得到优化。按照以下步骤操作,即可顺利搭建您的环境。

前置条件

在开始之前,请确保满足以下条件:

  • 运行 Ubuntu 20.04 的服务器,具备 root 或 sudo 权限。
  • 熟悉基本的终端命令。
  • 稳定的互联网连接,用于下载软件包。
步骤 1:更新系统

保持系统更新可以确保兼容性和安全性。首先刷新软件包列表并升级已安装的软件包。

sudo apt update && sudo apt upgrade -y

此命令会获取最新的软件包信息并应用可用更新。

步骤 2:添加 PHP 软件源

Ubuntu 20.04 的默认软件源可能不包含 PHP 8.1,因此需要添加第三方软件源,例如 Ondřej Surý 的 PPA,它提供了最新的 PHP 版本。

安装管理软件源所需的工具:

sudo apt install software-properties-common -y

添加 PHP 软件源:

sudo add-apt-repository ppa:ondrej/php -y

再次更新软件包列表以包含新软件源:

sudo apt update

步骤 3:安装 PHP 8.1 及必要扩展

软件源添加完成后,安装 PHP 8.1 及 PHP-FPM(FastCGI 进程管理器),以便与 Nginx 集成。

sudo apt install php8.1 php8.1-fpm php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath -y

此命令安装 PHP 8.1、PHP-FPM 以及 Web 应用程序常用的扩展,例如 MySQL 支持、图像处理和字符串处理等。

步骤 4:验证 PHP 安装

检查 PHP 8.1 是否正确安装,运行以下命令查看版本信息:

php -v

输出应显示 PHP 8.1 及其构建详情。接着,检查 PHP-FPM 服务状态:

sudo systemctl status php8.1-fpm

确保服务处于活跃运行状态。如果服务未运行,使用以下命令启动:

sudo systemctl start php8.1-fpm

设置 PHP-FPM 开机自启:

sudo systemctl enable php8.1-fpm

步骤 5:安装和配置 Nginx

如果尚未安装 Nginx,请执行以下命令进行安装:

sudo apt install nginx -y

验证 Nginx 是否运行:

sudo systemctl status nginx

如果 Nginx 未运行,启动并启用开机自启:

sudo systemctl start nginx

sudo systemctl enable nginx

步骤 6:配置 Nginx 与 PHP 集成

需要配置 Nginx 以通过 PHP-FPM 处理 PHP 文件。创建或编辑位于 /etc/nginx/sites-available/ 目录中的服务器配置文件。

为站点(例如 example.com)创建新的配置文件:

sudo nano /etc/nginx/sites-available/example.com

添加以下配置,调整 server_name 和 root 指令以匹配您的域名和 Web 根目录:

server { listen 80; server_name example.com www.example.com; root /var/www/example.com/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }

保存并退出文件。创建 Web 根目录并设置适当的权限:

sudo mkdir -p /var/www/example.com/html

sudo chown -R www-data:www-data /var/www/example.com/html

sudo chmod -R 755 /var/www/example.com/html

步骤 7:测试 Nginx 配置

在应用更改前,检查 Nginx 配置文件是否存在语法错误:

sudo nginx -t

如果测试通过,通过创建符号链接启用站点:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

重新加载 Nginx 以应用更改:

sudo systemctl reload nginx

步骤 8:测试 PHP 处理

创建一个测试 PHP 文件,验证 Nginx 和 PHP-FPM 是否正常协作:

sudo nano /var/www/example.com/html/info.php

添加以下代码:

<?php phpinfo(); ?>

保存并退出。在浏览器中访问该文件(例如 http://example.com/info.php),应显示 PHP 8.1 的信息页面。

为确保安全,验证完成后删除测试文件:

sudo rm /var/www/example.com/html/info.php

步骤 9:优化 PHP-FPM(可选)

根据服务器资源调整 PHP-FPM 设置以提升性能。编辑 PHP-FPM 池配置文件:

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

根据需要修改以下设置(示例值如下):

  • pm = dynamic
  • pm.max_children = 50
  • pm.start_servers = 5
  • pm.min_spare_servers = 5
  • pm.max_spare_servers = 35

保存文件并重启 PHP-FPM:

sudo systemctl restart php8.1-fpm

故障排除建议

如果遇到问题,请检查以下内容:

  • Nginx 错误:查看日志 sudo tail -f /var/log/nginx/error.log。
  • PHP-FPM 错误:查看日志 sudo tail -f /var/log/php8.1-fpm.log。
  • 权限问题:确保 Web 根目录由 www-data 用户拥有。
  • 防火墙:如果启用了防火墙,允许 HTTP 流量:sudo ufw allow 80。
总结

按照以上步骤,您已成功在 Ubuntu 20.04 上安装 PHP 8.1 并配置其与 Nginx 的协作。您的服务器现已准备好运行基于 PHP 的 Web 应用程序,例如 WordPress、Laravel 或自定义项目。定期更新系统并监控日志,以保持安全高效的运行环境。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前置条件
  • 步骤 1:更新系统
  • 步骤 2:添加 PHP 软件源
  • 步骤 3:安装 PHP 8.1 及必要扩展
  • 步骤 4:验证 PHP 安装
  • 步骤 5:安装和配置 Nginx
  • 步骤 6:配置 Nginx 与 PHP 集成
  • 步骤 7:测试 Nginx 配置
  • 步骤 8:测试 PHP 处理
  • 步骤 9:优化 PHP-FPM(可选)
  • 故障排除建议
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档