配置 Nginx 以使用 PHP-FPM 执行 PHP

举报
Tiamo_T 发表于 2022/08/18 17:07:39 2022/08/18
【摘要】 Nginx 发音为“Engine-X”,是一个 Web 服务器和反向代理服务器。Nginx 以其速度和同时处理大量请求并优化资源使用的能力而闻名。

Nginx 发音为“Engine-X”,是一个 Web 服务器和反向代理服务器。Nginx 以其速度和同时处理大量请求并优化资源使用的能力而闻名。

PHP-FPM 代表“PHP-FastCGI 进程管理器”。CGI 指的是通用网关接口,它被编写为 Web 服务器和动态内容服务程序之间的接口。它像 Web 服务器本身一样侦听端口,并在 PHP 和 Web 服务器之间传递请求。

本文提供有关如何使用 PHP-FPM 安装和配置 Nginx 的说明,这将帮助您在 Nginx 中执行 PHP 程序。

正如我们之前在Apache 与 Nginx中讨论的那样,与 Nginx相比,Apache 在处理重负载和处理大量请求时相对较慢。

1.安装Nginx

您可以从源代码安装 Nginx,也可以使用发行版附带的包管理工具安装它。

例如,在 Ubuntu 上,您可以使用 apt-get 安装 nginx,如下所示。

$ sudo apt-get install nginx

启动nginx服务器,如下图:

$ sudo service nginx start

转到 http://{your-ip-address} 并确保您看到 Nginx 的欢迎页面。


2.安装PHP5-FPM

接下来,使用发行版附带的包管理工具安装 php5-fpm。

例如,在 Ubuntu 上,您可以使用 apt-get 安装 php5-fpm,如下所示。

$ sudo apt-get install php5-fpm

3.在Nginx中添加PHP配置

接下来,修改 /etc/nginx/sites-available/default 文件,并添加以下行。

$ sudo vi /etc/nginx/sites-available/default
server {
  listen   80;
  root /usr/share/nginx/www;
  index index.php index.html index.htm;
  server_name example.com;
  location / {
    try_files $uri $uri/ /index.html;
  }
  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/www;
  }
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

4.在php5-fpm www.conf中设置listen参数

接下来,我们需要在 php-frpm 配置中进行如下更改。

默认情况下,您将在 www.conf 文件中看到以下监听条目

$ sudo vi  /etc/php5/fpm/pool.d/www.conf
listen =  127.0.0.1:9000

在 www.conf 文件中,保持原样,并将上面的监听行替换为如下所示的行。

$ sudo vi  /etc/php5/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock

5.重启Nginx和PHP5-FPM并测试

重启php5-fpm和nginx如下图

$ sudo service nginx restart

$ sudo service php5-fpm restart

最后在 nginx 文档根目录下创建如下 index.php 文件,并进行测试。

$ sudo vi /usr/share/nginx/www
<?php
  phpinfo();
?>

最后,打开您的浏览器并转到 http://localhost/index.php(或使用您的 ip 地址),这将执行 index.php 文件并显示 php 信息。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。