在Ubuntu系统上,PHP-FPM(FastCGI Process Manager)和Nginx可以协同工作来处理PHP请求。以下是配置它们协同工作的步骤:
首先,更新你的包列表并安装Nginx和PHP-FPM:
sudo apt update
sudo apt install nginx php-fpm
PHP-FPM的默认配置文件通常位于 /etc/php/7.x/fpm/pool.d/www.conf
(其中 7.x
是你的PHP版本)。你可以根据需要编辑这个文件。
例如,确保监听地址设置为Unix socket:
listen = /run/php/php7.x-fpm.sock
然后重启PHP-FPM服务:
sudo systemctl restart php7.x-fpm
编辑Nginx的默认站点配置文件 /etc/nginx/sites-available/default
:
sudo nano /etc/nginx/sites-available/default
找到处理PHP请求的部分,并修改为使用PHP-FPM的Unix socket:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.x-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
确保将 php7.x
替换为你的PHP版本。
启用Nginx配置并重启Nginx服务:
sudo nginx -t # 检查配置文件是否有语法错误
sudo systemctl restart nginx
创建一个简单的PHP文件来测试配置是否正确:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后在浏览器中访问 http://your_server_ip/info.php
,你应该能看到PHP信息页面。
为了提高安全性,你可以考虑以下几点:
通过以上步骤,你就可以在Ubuntu系统上成功配置Nginx和PHP-FPM协同工作了。