要在Ubuntu上将PHP-FPM与Nginx联调,你需要按照以下步骤操作:
sudo apt update
sudo apt install nginx
sudo apt install php-fpm
编辑PHP-FPM配置文件,默认路径为/etc/php/7.x/fpm/pool.d/www.conf(其中7.x是你的PHP版本)。
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到以下行:
;listen = /run/php/php7.x-fpm.sock
取消注释(删除前面的分号)并修改为:
listen = /run/php/php7.x-fpm.sock
保存并退出编辑器。
编辑Nginx的默认站点配置文件,默认路径为/etc/nginx/sites-available/default。
sudo nano /etc/nginx/sites-available/default
找到以下部分:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
}
确保fastcgi_pass指向正确的PHP-FPM套接字文件。如果你的PHP版本不同,请将php7.x替换为相应的版本号。
保存并退出编辑器。
sudo systemctl restart nginx
sudo systemctl restart php7.x-fpm
将php7.x替换为你的PHP版本号。
在Nginx的默认网站根目录(通常为/var/www/html)中创建一个名为info.php的文件。
sudo nano /var/www/html/info.php
在文件中添加以下内容:
<?php
phpinfo();
?>
保存并退出编辑器。
在浏览器中访问http://your_server_ip/info.php。你应该看到PHP信息页面,这表明Nginx已成功与PHP-FPM联调。
在生产环境中,建议关闭PHP的执行权限,以防止潜在的安全风险。将以下内容添加到/etc/nginx/sites-available/default文件中的location ~ \.php$块:
location ~ \.php$ {
...
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存并退出编辑器,然后重启Nginx服务:
sudo systemctl restart nginx
现在,你已经成功地在Ubuntu上将PHP-FPM与Nginx联调。