打开nginx连接的php页面报错502

news2025/2/25 11:22:08

 

目录

问题描述:

原因:

1. 使用 Unix 域套接字(Unix Socket)

区别和优势:

2. 使用 TCP/IP 套接字

区别和优势:

如何选择

扩展:Rocky_Linux9.4安装PHP的步骤:

使用Remi存储库安装PHP


问题描述:

遇到安装的php服务,查看端口有些版本linux发现有9000端口,有些版本没有查到9000端口,但是php-fpm是在运行的,然后检查nginx的配置和php都没啥问题,但是打开网页显示显示502网关错误。

原因:

PHP在不同Linux发行版或者不同版本中,对应的PHP的监听方式不同,然后和Nginx配置的location中fastcgi_pass参数配置不一致导致的。

在配置Nginx与PHP-FPM时,可以选择两种不同的方式来指定PHP-FPM的监听方式,分别是使用Unix域套接字(Unix socket)和TCP/IP套接字(IP socket)。

 

 

1. 使用 Unix 域套接字(Unix Socket)

  • 配置方式fastcgi_pass unix:/run/php-fpm/www.sock;
  • PHP-FPM 配置listen = /run/php-fpm/www.sock
区别和优势:
  • 性能:Unix套接字通常比TCP/IP套接字性能更好,因为它们避免了TCP/IP协议栈的开销。
  • 安全性:Unix套接字只能在同一台服务器上的进程之间使用,因此在安全性上比TCP/IP更好。
  • 通信方式:使用Unix套接字时,Nginx与PHP-FPM之间的通信是通过本地文件系统进行的,而不是网络通信,这可能更快速和可靠。

 

 

2. 使用 TCP/IP 套接字

  • 配置方式fastcgi_pass 127.0.0.1:9000;
  • PHP-FPM 配置listen = 127.0.0.1:9000
区别和优势:
  • 灵活性:TCP/IP套接字允许PHP-FPM与Nginx运行在不同的服务器上,只要网络连通性正常。
  • 监控和管理:TCP/IP套接字使得PHP-FPM的管理和监控更加灵活,可以通过网络远程管理和监控。
  • 复杂性:相对于Unix套接字,使用TCP/IP套接字可能会增加一些网络协议和通信的复杂性和开销。

如何选择

  • 性能需求:如果性能是首要考虑因素,且Nginx与PHP-FPM运行在同一台服务器上,推荐使用Unix套接字。
  • 分布式架构:如果有分布式架构的需求或者希望灵活管理和监控PHP-FPM服务,可以选择TCP/IP套接字。
  • 默认选择:大多数情况下,Unix套接字是默认选择,因为它通常能提供更好的性能和安全性。

 

即如果php默认使用listen = 127.0.0.1:9000监听方式,那么对应的Nginx配置文件就应该使用fastcgi_pass 127.0.0.1:9000;

反之若使用listen = /run/php-fpm/www.sock监听方式,那么对应的Nginx配置文件就应该使用fastcgi_pass unix:/run/php-fpm/www.sock;

 

扩展:Rocky_Linux9.4安装PHP的步骤:

php配置文件路径:/etc/php-fpm.d/www.conf

使用Remi存储库安装PHP

  1. 安装Remi存储库

    Rocky Linux 9.4 可以使用Remi存储库来安装最新的PHP版本。以下是安装Remi存储库的步骤:

    # 安装epel-release存储库 
    sudo dnf -y install epel-release 
    # 安装Remi存储库 
    sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

    请注意,此处使用的是 remi-release-9.rpm,适用于Rocky Linux 9.x版本。

  2. 启用PHP模块

    安装完Remi存储库后,您需要启用特定版本的PHP。假设您想要安装PHP 7.4,可以使用以下命令启用对应版本的PHP模块:

    sudo dnf module reset php sudo dnf module enable php:remi-7.4

    如果您想安装更高版本的PHP(如PHP 8.0或更高),则需要调整上述命令中的版本号。

  3. 安装PHP和相关扩展

    一旦启用了PHP模块,您可以安装PHP及其常用扩展,例如:

    sudo dnf -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json

    这是安装PHP及其一些常用扩展。也可以根据您的需求和项目需要选择安装更多的PHP扩展。

  4. 启动PHP-FPM服务(如果安装了PHP-FPM):

    sudo systemctl start php-fpm sudo systemctl enable php-fpm

    将启动PHP-FPM服务并设置为在系统启动时自动启动。

  5. 验证安装

    安装完成后,您可以通过以下命令验证PHP是否成功安装:

    php -v

    将会显示PHP的版本信息,确认安装成功。

[root@localhost ~]# php -v
PHP 8.1.29 (cli) (built: Jun  5 2024 05:51:57) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.29, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.29, Copyright (c), by Zend Technologies

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1837469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小程序餐饮点餐系统,扫码下单点菜,消费端+配送端+收银端+理端

目录 前言: 一、小程序功能有哪些 前端: 管理端: 二、实体店做小程序的好处 方便快捷的点餐和支付体验: 扩大店铺的曝光度和影响力: 优化顾客体验和服务质量: 降低成本和提高效率: 数据…

IDEA debug 调试Evaluate Expression应用

链接: https://blog.csdn.net/xfx_1994/article/details/104136849?utm_mediumdistribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_v2~rank_aggregation-2-104136849.pc_agg_rank_aggregation&utm_termidea%E4%B8%ADevaluate&s…

生产看板管理系统内容有哪些?

相信很多做生产管理的朋友都会遇到如下问题,我就在想,是否能一个创建“透明的”的工作场所?让员工和管理者能够实时查询生产进度,及时发现生产中的问题。 生产进度难追踪 生产过程不透明 生产决策缺乏数据支持 ——能&#xf…

Harbor本地仓库搭建002_Harbor负载均衡节点搭建_nginx安装配置_harbor安装---分布式云原生部署架构搭建002

负载均衡的机器. 可以看到上面是安装nginx的过程 首先去编辑一下yum仓库地址,配置一下nginx的仓库地址 然后这个是配置的内容 然后在进行安装之前最好yum makecache fast 更新一下缓存,这样安装的时候 会安装最新的包 然后就可以安装nginx yum -y install nginx 然后去

vue3+ts+vite集成eslint

项目中安装eslint yarn add eslint -Deslint初始化 npx eslint --init按照下方操作即可 安装typescript-eslint/parser yarn add typescript-eslint/parser -D安装vite-plugin-eslint2 yarn add vite-plugin-eslint2 -D配置vite-plugin-eslint2 // vite.config.ts import …

汇编基础之使用vscode写hello world

汇编语言(Assembly Language) 概述 汇编语言(Assembly Language)是一种低级编程语言,它直接对应于计算机的机器代码(machine code),但使用了更易读的文本符号。每台个人计算机都有…

【UG\NX二次开发】UF 调用Grip例子(实现Grip调用目标dll)(UF_call_grip)

此例子是对:【UG\NX二次开发】UF 加载调用与卸载目标dll(UF_load_library、UF_unload_library)_ug二次开发dll自动加载-CSDN博客的补充。 ①创建txt文本,编写以下内容(功能:接收路径,调用该路径的dll)。改后缀为Grip文件(.grs)。…

uniapp顶部导航栏实现自定义功能按钮+搜索框并监听响应事件

目录 第一步:先下载按钮需要展示的图标(若不使用图标,直接使用文字可跳过这步) 1、点击需要的图标,添加入库 2、点击旁边的购物车,在弹出的窗口中选择下载代码 3、解压下载的压缩包,将这几个…

第J7周:对于ResNeXt-50算法的思考

本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 | 接辅导、项目定制 🚀 文章来源:K同学的学习圈子深度学习第J6周:ResNeXt-50实战解析K同学的学习圈子 在 ResNeXt 网络中,如果…

旅游管理平台系统

摘要 如今许多地区的风景已经随着网络技术的不断发展和进步而映入人们的眼帘,旅游已经成为一种大众化的休闲方式。而青海海西州风光旖旎,民族文化独特,更是吸引了众多游客纷至沓来。海西州地域广阔、人烟稀少、是一个经济发展缓慢的地方&…

代码随想录第27天|回溯算法

93.复原IP地址 补充: 字符串的操作 str.insert() 发生重载 str.insert(str.begin(), ‘x’) 只能是插入char类型 insert(const const_iterator _Where, const _Elem _Ch) str.insert(0, “x”) 只能是 string类型 insert(const size_type _Off, In_z const _Elem* const _Ptr) …

c++之说_15|成员函数的const尾缀修饰 ( const const)

我记得我刚接触c的时候 遇到成员函数 右边尾部 写了个const 我当时就很蒙 不过慢慢的也从大佬口中获得一二经验了 class kj{public:void get(){printf("无修饰\n");}void get()const{printf("const 修饰\n");}}; 大概就是这个样子 当时我抓耳挠腮的看…

pytorch--Pooling layers

文章目录 1.torch.nn.MaxPool1d()2.torch.nn.MaxPool2d3.torch.nn.AvgPool2d()4.torch.nn.FractionalMaxPool2d()5.torch.nn.AdaptiveMaxPool2d()6.torch.nn.AdaptiveAvgPool2d() 1.torch.nn.MaxPool1d() torch.nn.MaxPool1d() 是 PyTorch 库中的一个类,用于在神经网…

服务器硬件知识

服务器硬件基础知识 简介 原理详解 服务器硬件的工作原理是将来自客户端的请求处理并返回结果。服务器硬件是指用于构建服务器系统的物理组件。它包括处理器(CPU)、内存(RAM)、存储设备(硬盘或固态硬盘)…

uniapp使用md5加密

目录 一、安装md5 二、在main.js中全局引入并挂载到vue实例中 三、使用md5加密 一、安装md5 在终端输入 npm install js-md5 -D 二、在main.js中全局引入并挂载到vue实例中 import Md5 from js-md5 Vue.prototype.$md5 Md5 三、使用md5加密 let password_md5 this.$md…

任务3.8.3 利用RDD统计每日新增用户

任务目标 统计给定用户访问历史数据中,每日的新增用户数量。 数据准备 原始数据格式:每行包含两个字段,日期和用户名,以逗号分隔。示例数据:2024-05-01,mike 2024-05-01,alice 2024-05-01,brown ...解决方案 使用倒…

【HTML01】HTML基础-基本元素-附带案例-作业

文章目录 HTML 概述学HTML到底学什么HTML的基本结构HTML的注释的作用html的语法HTML的常用标签:相关单词参考资料 HTML 概述 英文全称:Hyper Text Markup Language 中文:超文本标记语言,就将常用的50多个标记嵌入在纯文本中&…

18V-150V降5V100mA恒压WT5101

18V-150V降5V100mA恒压WT5101 WT5101是一款非隔离高集成度且低成本的PWM功率开关,用于外围元器件精简的小功率非隔离开关电源,恒压5V输出,输入电压18V-150V。WT5101集成有完善的保护功能:VDD欠压保护、逐周期电流限制、过流保护、…

3D视觉引导机器人提升生产线的自动化水平和智能化程度

随着智能化技术的不断发展,汽车制造企业正积极寻求提升智能化水平的途径。富唯智能的3D视觉引导机器人抓取技术为汽车制造企业提供了一种高效、智能的自动化解决方案。 项目目标 某汽车制造企业希望通过引入智能化技术提升生产线的自动化水平和智能化程度。他们希望…

RockChip Android12 Settings二级菜单

一:概述 本文将针对Android12 Settings的二级菜单System进行说明。 二:System 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name=".Settings$SystemDashboardActivity"android:label="@string/header_category_system&quo…