在Ubuntu系统上,PHP-FPM(FastCGI Process Manager)和Nginx可以协同工作来处理PHP请求。以下是配置它们协同工作的基本步骤:
-
安装Nginx和PHP-FPM: 首先,确保你的系统是最新的,然后安装Nginx和PHP-FPM。
sudo apt update sudo apt install nginx php-fpm -
配置PHP-FPM: PHP-FPM的默认配置文件通常位于
/etc/php/版本号/fpm/pool.d/www.conf。你可以根据需要编辑这个文件,例如设置监听的socket或者端口。如果你选择使用socket,确保Nginx配置中的
fastcgi_pass指向正确的socket文件。如果你选择使用端口,那么fastcgi_pass应该指向127.0.0.1:端口号。 -
配置Nginx: 编辑Nginx的站点配置文件,通常位于
/etc/nginx/sites-available/目录下。你需要为你的网站创建一个配置文件,例如default。在配置文件中,你需要设置一个
location块来处理PHP文件。这里是一个基本的配置示例:server { listen 80; server_name example.com www.example.com; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 或者使用127.0.0.1:9000 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }在上面的配置中,
fastcgi_pass指令告诉Nginx将PHP请求传递给PHP-FPM。如果你的PHP-FPM配置使用了端口而不是socket,你需要将unix:替换为127.0.0.1:并指定正确的端口号。 -
启用站点配置: 创建一个到
sites-enabled目录的符号链接,以启用你的站点配置。sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/ -
测试Nginx配置: 在重新加载Nginx之前,测试配置文件是否有语法错误。
sudo nginx -t -
重启Nginx和PHP-FPM: 如果配置测试成功,重启Nginx和PHP-FPM服务以应用更改。
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm # 根据你的PHP版本调整命令 -
更新防火墙规则(如果有必要): 如果你的服务器运行着防火墙,确保开放HTTP(80)和HTTPS(443)端口。
sudo ufw allow 'Nginx Full'
完成以上步骤后,Nginx将会把所有PHP请求转发给PHP-FPM,PHP-FPM处理这些请求并将结果返回给Nginx,最后由Nginx将响应发送给客户端。这样,Nginx和PHP-FPM就协同工作来处理PHP页面了。
以上就是关于“ubuntu上php-fpm与nginx如何协同工作”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm