在现代网站开发中,Nginx 和 PHP 是最常用的 Web 服务器和脚本语言,它们不仅性能优越,而且易于配置与维护。Nginx 以其高性能、高并发的特点广泛应用于生产环境,而 PHP 则作为一种流行的动态网页开发语言,几乎是每个网站开发者必备的工具。搭建 Nginx 和 PHP 环境通常是 Web 服务器的基础工作之一。本文将详细介绍如何在 Ubuntu 系统上搭建 Nginx + PHP 环境,以便轻松搭建高效的 Web 应用程序。
一、安装 Nginx
首先,我们需要在 Ubuntu 上安装 Nginx。Nginx 是一个开源的高性能 HTTP 和反向代理服务器,安装过程相对简单。
1. 更新软件包列表:打开终端,执行以下命令更新本地软件包列表,确保软件源是最新的:
sudo apt update
2. 安装 Nginx:运行以下命令来安装 Nginx:
sudo apt install nginx
3. 启动 Nginx 服务:安装完成后,可以使用以下命令启动 Nginx 服务:
sudo systemctl start nginx
4. 配置开机自启动:为了确保系统重启后 Nginx 能够自动启动,运行以下命令将 Nginx 设置为开机自启:
sudo systemctl enable nginx
5. 检查 Nginx 状态:可以通过以下命令检查 Nginx 服务的状态:
sudo systemctl status nginx
此时,如果在浏览器中输入服务器的 IP 地址,应该能够看到 Nginx 的默认欢迎页面,表示 Nginx 已经成功安装并启动。
二、安装 PHP
接下来,安装 PHP 及其常用模块。PHP 是一种流行的服务器端脚本语言,在 Web 开发中应用广泛。
1. 安装 PHP:在 Ubuntu 系统中,可以使用 apt 包管理器安装 PHP。首先运行以下命令来安装 PHP 和必要的扩展:
sudo apt install php-fpm php-mysql php-cli php-mbstring php-xml php-curl
2. 配置 PHP-FPM:PHP-FPM(PHP FastCGI Process Manager)是 PHP 的一种高效运行方式,它用于处理动态请求。安装 PHP 后,需要对 PHP-FPM 进行一些基本配置。
编辑 PHP-FPM 配置文件,确保它能够正确处理请求:
sudo nano /etc/php/7.4/fpm/php.ini
找到并修改以下参数:
cgi.fix_pathinfo=0
保存并关闭文件。然后,重启 PHP-FPM 服务以应用更改:
sudo systemctl restart php7.4-fpm
三、配置 Nginx 与 PHP 的联动
现在我们已经安装了 Nginx 和 PHP,接下来需要配置 Nginx 来支持 PHP 文件的解析。
1. 修改 Nginx 配置文件:我们需要为 Nginx 配置一个服务器块来处理 PHP 请求。打开 Nginx 默认配置文件进行修改:
sudo nano /etc/nginx/sites-available/default
在文件中找到以下内容:
location / { try_files $uri $uri/ =404; }
修改为以下内容:
location / { index index.php index.html index.htm; try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
解释: - "index index.php":指定 index.php 作为默认首页。 - "try_files $uri $uri/ =404":如果没有找到请求的文件,返回 404 错误。 - "fastcgi_pass unix:/var/run/php/php7.4-fpm.sock":PHP 处理使用 PHP-FPM。 - "fastcgi_param SCRIPT_FILENAME":指定 PHP 文件的路径。
2. 检查 Nginx 配置是否正确:修改完成后,使用以下命令检查 Nginx 配置文件是否正确:
sudo nginx -t
3. 重启 Nginx 服务:如果配置文件没有错误,可以重启 Nginx 使配置生效:
sudo systemctl restart nginx
四、测试 PHP 配置
配置完成后,我们可以创建一个简单的 PHP 文件来测试 PHP 是否能够正常工作。
1. 创建 PHP 测试文件:在网站根目录下创建一个 PHP 文件,命名为 "info.php":
sudo nano /var/www/html/info.php
2. 在 "info.php" 文件中加入以下内容:
<?php phpinfo(); ?>
3. 访问测试页面:在浏览器中输入 "http://your_server_ip/info.php",如果页面显示 PHP 配置信息,则说明 PHP 已经成功与 Nginx 配合工作。
五、加强安全性设置
为了提高 Web 服务器的安全性,建议对 Nginx 和 PHP 做一些基本的安全配置。
1. 禁止查看敏感文件:修改 Nginx 配置,禁止列出目录内容。找到以下配置项:
location / { try_files $uri $uri/ =404; }
确保没有列出目录的权限,避免泄漏网站的目录结构。
2. 配置 PHP 安全性:编辑 PHP 配置文件,禁用不必要的功能,例如 "exec()"、"shell_exec()" 等函数,避免执行恶意代码。
打开 PHP 配置文件:
sudo nano /etc/php/7.4/fpm/php.ini
找到并修改以下配置:
disable_functions = exec,passthru,shell_exec,system
3. 删除 PHP 测试文件:测试完成后,建议删除 "info.php" 文件,以避免泄露服务器信息:
sudo rm /var/www/html/info.php
六、总结
通过本文的详细步骤,你已经学会了如何在 Ubuntu 系统上搭建 Nginx + PHP 环境。整个过程包括了安装和配置 Nginx、安装 PHP 及 PHP-FPM、配置 Nginx 与 PHP 的联动、测试 PHP 配置以及加强安全性等方面的内容。掌握这些基础知识后,你可以为自己的 Web 应用提供一个高效、稳定的运行环境。
随着对 Nginx 和 PHP 配置的深入了解,你可以进一步优化服务器的性能和安全性,确保 Web 应用的稳定运行。在实际的生产环境中,记得根据需求进行更多的定制配置,提升服务器的性能和安全。