一、安装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文件测试运行了。