您的位置:

Nginx配置PHP的详细阐述

一、安装PHP-FPM

在安装nginx前,需要先安装PHP-FPM。如果已经安装了php,则可以通过以下命令安装:

$ sudo apt-get install php-fpm

安装完成后,需要修改php-fpm配置文件。打开/etc/php/7.4/fpm/pool.d/www.conf文件,修改以下参数:

user = www-data
group = www-data
listen = /run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

以上配置将php-fpm套接字文件的权限改为了www-data用户和组,这样nginx就可以与php-fpm通信了。

二、安装nginx

在安装nginx之前,需要确保已经安装了软件包管理器apt。

$ sudo apt-get update
$ sudo apt-get install nginx

安装nginx后,需要编辑nginx配置文件。打开/etc/nginx/sites-available/default文件,将以下参数修改为:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm;
    server_name _;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

上述配置中,定义了Nginx的server名称、监听端口、虚拟主机所使用的默认根目录以及php相关的配置。

三、配置PHP参数

在修改完nginx配置文件后,需要修改php.ini文件。打开/etc/php/7.4/fpm/php.ini文件,将以下参数修改为:

cgi.fix_pathinfo=0

这个配置参数可以帮助解决Nginx运行PHP时的一些问题。

四、重启nginx和php-fpm服务

修改完成nginx和php-fpm配置文件后,需要重新启动两个服务。

$ sudo systemctl restart nginx
$ sudo systemctl restart php7.4-fpm

之后,就可以在/var/www/html目录下创建php文件测试运行了。