nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > nginx集成php模块

nginx里集成php模块安装配置步骤详解

作者:SH沐瞳

这篇文章主要为大家介绍了nginx里集成php模块安装配置步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

nginx是一个高性能的web服务器,它可以处理静态文件和反向代理的请求,但是它不知道如何运行php脚本。为了让nginx能够支持php,我们需要使用一个php模块,比如php-fpm(FastCGI Process Manager),它可以在nginx外部创建自己的进程,然后通过FastCGI协议与nginx通信。这样,当用户请求一个php页面时,nginx就会把请求转发给php-fpm,然后把php-fpm返回的结果发送给用户。这种方式比传统的CGI或者mod_php更快更节省资源,也更方便管理和配置。

要在nginx里集成php模块,需要完成以下几个步骤:

第一步:安装php-fpm

我们假设已经安装了最新版本的php(>= 7.3),那么可以使用apt-get命令来安装php-fpm:

sudo apt-get install php7.3-fpm

安装完成后,php-fpm服务会自动启动,可以使用systemctl命令来查看它的状态:

systemctl status php7.3-fpm

应该看到类似这样的输出:

php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-02-17 06:29:31 UTC; 30s ago
     Docs: man:php-fpm7.3(8)
 Main PID: 32210 (php-fpm7.3)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 3 (limit: 1152)
   CGroup: /system.slice/php7.3-fpm.service
           ├─32210 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
           ├─32235 php-fpm: pool www
           └─32236 php-fpm: pool www

第二步:配置php-fpm池

php-fpm服务会创建一个默认的池,它的配置文件(www.conf)可以在/etc/php/7.3/fpm/pool.d目录下找到。可以根据的需求来修改默认的池,或者创建新的池。一般来说,建议为每个网站或者应用创建单独的池,这样可以更好地控制每个php-fpm进程的资源分配和权限。

在这里,我们假设只有一个网站或者应用,那么可以使用默认的池。需要注意以下几个重要的参数:

可以根据的实际情况进行调整,或者使用默认的值。修改完配置文件后,需要重启php-fpm服务:

sudo systemctl restart php7.3-fpm

第三步:配置nginx

要让nginx能够与php-fpm通信,需要在nginx的配置文件中添加一些指令。可以在/etc/nginx/sites-available目录下创建一个新的配置文件,或者修改默认的配置文件(default)。在这里,我们假设创建了一个名为example.com的配置文件,它的内容如下:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
    }
}

这个配置文件的含义如下:

修改完配置文件后,需要创建一个软链接到/etc/nginx/sites-enabled目录,以便nginx能够读取它:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

然后需要测试nginx的配置是否正确:

sudo nginx -t

如果没有错误,应该看到类似这样的输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最后,需要重启nginx服务:

sudo systemctl restart nginx

第四步:测试nginx和php-fpm

要测试nginx和php-fpm是否正常工作,可以在网站根目录下创建一个名为info.php的文件,它的内容如下:

<?php
phpinfo();
?>

然后可以通过浏览器访问example.com/info.php,应该看到类似这样的页面:

这个页面显示了php的一些信息,证明了nginx和php-fpm已经成功集成了。

以上就是nginx里集成php模块安装配置步骤详解的详细内容,更多关于nginx集成php模块的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文