在 Web 开发中,Nginx 和 PHP-FPM 常常一起使用,以实现高效的 Web 服务。Nginx 作为反向代理服务器,负责处理静态文件和转发动态请求到 PHP-FPM 进行处理。下面将详细介绍如何配置 Nginx 与 PHP-FPM 的结合。
一、安装 Nginx 和 PHP-FPM
确保你的服务器已经安装了 Nginx 和 PHP-FPM。你可以通过以下命令在大多数 Linux 发行版上进行安装:
```
# 安装 Nginx
sudo apt-get install nginx
# 安装 PHP-FPM
sudo apt-get install php-fpm
```
二、配置 Nginx
1. 编辑 Nginx 配置文件
找到 Nginx 的配置文件,通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/default.conf`。使用文本编辑器打开该文件,并进行以下配置:
```
server {
listen 80;
server_name example.com;
root /var/www/html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ =404;
}
}
```
在上述配置中,`listen 80` 指定了 Nginx 监听的端口为 80(默认 HTTP 端口),`server_name example.com` 替换为你的实际域名。`root` 指定了网站的根目录,`location ~ \.php$` 用于匹配 PHP 文件的请求,并将其转发到 PHP-FPM。`fastcgi_pass 127.0.0.1:9000` 指定了 PHP-FPM 的监听地址和端口,默认情况下 PHP-FPM 监听在本地的 9000 端口。
2. 测试 Nginx 配置
保存配置文件后,使用以下命令测试 Nginx 配置是否正确:
```
sudo nginx -t
```
如果配置文件正确,将显示 `syntax is ok` 和 `test is successful` 的消息。
3. 重新加载 Nginx
如果测试通过,使用以下命令重新加载 Nginx 使配置生效:
```
sudo systemctl reload nginx
```
三、配置 PHP-FPM
1. 编辑 PHP-FPM 配置文件
找到 PHP-FPM 的配置文件,通常位于 `/etc/php/7.x/fpm/php.ini`(具体版本根据你的 PHP 安装而定)。可以根据需要进行一些配置调整,如内存限制、最大请求数等。
2. 启动 PHP-FPM
使用以下命令启动 PHP-FPM:
```
sudo systemctl start php7.4-fpm
```
(将 `php7.4-fpm` 替换为你的 PHP-FPM 服务名称)
四、验证配置
在完成 Nginx 和 PHP-FPM 的配置后,可以通过访问网站来验证配置是否成功。创建一个简单的 PHP 文件,如 `index.php`,并在其中添加以下代码:
```
phpinfo();
?>
```
将该文件放置在 Nginx 的网站根目录中(`root` 指令指定的目录)。然后在浏览器中访问你的网站域名,如果能够看到 PHP 的信息页面,则表示 Nginx 和 PHP-FPM 配置成功。
通过以上步骤,你可以成功配置 Nginx 与 PHP-FPM,实现高效的 Web 服务。在实际配置过程中,你可以根据具体需求进行进一步的调整和优化,如添加缓存、配置负载均衡等,以提高网站的性能和可用性。