Nginx之FastCGI实战案例 : Nginx与php-fpm在和不在同一服务器

在这里插入图片描述

在同一个服务器

1、注意;做这个实验之前,最好先搭建虚主机 因为要先定义子配置文件路径

[root@Centos8 ~]#vim /apps/nginx/conf/nginx.conf
http {
      ......
      include    /apps/nginx/conf.d/*.conf;  #在配置文件的最后面添加此行,注意不要放在最前,会导致前面的命令无法生效 后续配置文件都放在这里;
}

在这里插入图片描述
2、php 环境准备

在yum安装默认版本php和相关APP依赖的包 centos8和7下操作不一样

[root@centos8 ~]# yum -y install php-fpm php-mysqlnd php-json 
#默认版本#或者安装清华的php源

[root@centos7 ~]# yum install
https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
systemctl enable --now php-fpm #安装好以后,执行启动命令

3、php相关配置优化

相关配置优化vim /etc/php-fpm.d/www.conf 此实验是和nginx配合。所以这里改nginx

在这里插入图片描述
监听端口默认使用的是套接字,也可以改成ip加端口模式;

在这里插入图片描述
默认允许访问的IP,此次实验nginx和php在同一台主机,所以要更改;

在这里插入图片描述
打开状态页;

在这里插入图片描述
打开ping

在这里插入图片描述
改完后systemctl restart php-fpm

在这里插入图片描述
查看修改了那些设置
grep “1” /etc/php-fpm.conf

在这里插入图片描述
grep -Ev ‘^;.* ∣ ∗ |^ * ’ /etc/php-fpm.d/www.conf

在这里插入图片描述
4、准备php测试页面

[root@Centos8 ~]#mkdir -p /data/php
[root@Centos8 ~]#cat /data/php/index.php
<?php phpinfo(); ?>

在这里插入图片描述
5、Nginx配置转发

[root@Centos8 ~]#vim /apps/nginx/conf.d/pc.conf

在这里插入图片描述
在这里插入图片描述
脚本如下;

server {
    listen 80;
    server_name www.magedu.org;
    root /apps/nginx/html/pc;
   # location / {
   #     root /apps/nginx/html/pc;
   #     proxy_pass http://pc-servers;
   # }
    location ~ \.php$|status|ping {
        root           /data/php;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include         fastcgi_params;
    }
}
然后:#  执行重新加载 nginx -s reload

6、访问网页测试

本地需要在C:\Windows\System32\drivers\etc\hosts里设置

在这里插入图片描述
在网页测试; http://www.magedu.org/index.php

在这里插入图片描述
查看ping的状态页

在这里插入图片描述
查看status状态页

在这里插入图片描述

#常见的错误:
File not found. #路径不对
502 #php-fpm处理超时、服务停止运行等原因导致的无法连接或请求超时

在Ubuntu客户端查看,Ubuntu客户端的hosts里需要设置

在这里插入图片描述
查看结果

在这里插入图片描述

不在同一个服务器

在这里插入图片描述
基于之前在同一个服务器上的操作

不在同一个服务器上 特别要注意的是这一步 这里要改成真正PHP的地址;
在这里插入图片描述
并且在生产环境里,一般没有讲nginx和 php-fpm 分开设置,这里设置以作了解;

1.安装

在18的服务器上安装;

[root@centos18 ~]#yum -y install php-fpm
[root@centos18 ~]#vim /etc/php-fpm.d/www.conf     #修改设置

在这里插入图片描述
将;listen.allowed_clients = 127.0.0.1 注释掉 表示默认所有主机都可以连接;
在这里插入图片描述
2. 准备php测试页面

[root@centos18 ~]#mkdir /data/php/
[root@centos18 ~]#vim /data/php/index1.php  #为便于区分 这里设置为index1
<?php
phpinfo();
?>
[root@centos18 ~]#systemctl enable --now php-fpm   #启动服务

查看端口已经开启;目前是监听在*:9000 表示任何用户都可以访问;
在这里插入图片描述
此时 在nginx服务器上

[root@Centos8 ~]#vim /apps/nginx/conf.d/pc.conf   #将ip更改为php-fpm的主机

在这里插入图片描述

3.访问验证php测试页面

http://www.magedu.org/index1.php

在这里插入图片描述

至此 设置完成

谢谢观赏


  1. a-Z ↩︎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值