在 Ubuntu 20.04 服务器上配置 PHP 8.1 与 Nginx 的组合,可以高效运行动态 Web 应用程序。本文提供了一步步的指南,帮助您安装和配置 PHP 8.1 与 Nginx,确保 Web 服务器性能和兼容性得到优化。按照以下步骤操作,即可顺利搭建您的环境。
在开始之前,请确保满足以下条件:
保持系统更新可以确保兼容性和安全性。首先刷新软件包列表并升级已安装的软件包。
sudo apt update && sudo apt upgrade -y
此命令会获取最新的软件包信息并应用可用更新。
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
软件源添加完成后,安装 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 支持、图像处理和字符串处理等。
检查 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
如果尚未安装 Nginx,请执行以下命令进行安装:
sudo apt install nginx -y
验证 Nginx 是否运行:
sudo systemctl status nginx
如果 Nginx 未运行,启动并启用开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
需要配置 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
在应用更改前,检查 Nginx 配置文件是否存在语法错误:
sudo nginx -t
如果测试通过,通过创建符号链接启用站点:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
重新加载 Nginx 以应用更改:
sudo systemctl reload nginx
创建一个测试 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
根据服务器资源调整 PHP-FPM 设置以提升性能。编辑 PHP-FPM 池配置文件:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
根据需要修改以下设置(示例值如下):
保存文件并重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
如果遇到问题,请检查以下内容:
按照以上步骤,您已成功在 Ubuntu 20.04 上安装 PHP 8.1 并配置其与 Nginx 的协作。您的服务器现已准备好运行基于 PHP 的 Web 应用程序,例如 WordPress、Laravel 或自定义项目。定期更新系统并监控日志,以保持安全高效的运行环境。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。