浅谈nginx和php-fpm

本文详细介绍了Nginx作为高性能Web服务器的应用场景,包括反向代理、负载均衡及动静分离,并深入解析了Nginx与PHP-FPM的结合使用,展示了如何通过配置实现高效稳定的服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于nginx

nginx是轻量级,稳定性,并发性好的web服务器。
主要有三方面的应用
1:反向代理服务
工作模式
代理我们访问的目标服务器,然后将请求转发给目标服务器。用户感知不到。
2,负载均衡
对于高并发项目来说,应用常见,这个我在前面分布式也说到过。
3,动静分离
把动态和静态请求分开处理。
nginx配置

/usr/sbin/nginx -t 检查配置文件
/usr/sbin/nginx -s reload 重读配置
service nginx start 启动nginx
service nginx restart 重启 nginx
nginx -v 查看nginx版本

/usr/local/nginx/conf/nginx.conf 指定配置文件–配置文件的位置

关于php-fpm

/usr/local/etc/php-fpm.conf 这是fpm配置文件的位置

为了解决不同语言的解释器和webserver的通信。出现了cgi协议。
php-fpm即php-Fastcgi Process Manager.
php-fpm是 FastCGI 的实现,并提供了进程管理的功能。
进程包含 master 进程和 worker 进程两种进程。
master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。

下面是一段关于nginx配置文件内容解释

server {
    listen       80; #监听80端口,接收http请求
    server_name  www.xxxx.com; #就是网站地址
    root /usr/local/etc/nginx/www/ceshi; # 准备存放代码工程的路径(根目录)
    #路由到网站根目录www.xxxx.com时候的处理
    location / {
        index index.php; #跳转到www.xxxx.com/index.php
        autoindex on;
    }   

    #当请求网站下php文件的时候,反向代理到php-fpm
    location ~ \.php$ {
        include /usr/local/etc/nginx/fastcgi.conf; #加载nginx的fastcgi模块
        fastcgi_intercept_errors on;
        fastcgi_pass   127.0.0.1:9000; #nginx fastcgi进程监听的IP地址和端口
    }  
}

查看fpm进程 ps -ef | grep fpm
在这里插入图片描述
可以看到一个master进程,三个worker进程
pid是1451

nginx和php-fpm的结合的流程图如下图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值