当前位置: 首页 > news >正文

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

 

目录

问题描述:

原因:

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 Technologieswith Zend OPcache v8.1.29, Copyright (c), by Zend Technologies

相关文章:

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

目录 问题描述: 原因: 1. 使用 Unix 域套接字(Unix Socket) 区别和优势: 2. 使用 TCP/IP 套接字 区别和优势: 如何选择 扩展:Rocky_Linux9.4安装PHP的步骤: 使用Remi存储库…...

Qt之文件操作(QFile、QFileInfo、QTemporaryFile)

文章目录 前言QFile如何使用 QFile QFileInfo如何使用 QFileInfo QTemporaryFile如何使用 QTemporaryFile QFile常用函数QFileInfo常用函数QTemporaryFile常用函数总结 前言 在开发 Qt 应用程序时,我们经常需要进行文件操作,如读取文件、写入文件、获取…...

Python爬虫初试

在Python中,我们可以使用一些强大的库来编写一个功能强大的爬虫, Python 首先安装必要的库(如果尚未安装) pip install requests beautifulsoup4 import requests from bs4 import BeautifulSoup import osdef download_images(…...

ARM-V9 RME(Realm Management Extension)系统架构之系统初始化流程

安全之安全(security)博客目录导读 目录 一、重置取消 二、应用处理单元(PE)初始启动 三、MSD初始化 四、GPT初始化 五、初始启动退出(由所有应用PE执行) 六、RMSD初始化 七、PE进入丢失上下文的低功耗状态 本博客提供了R…...

软件工程考试题备考

文章目录 前言一、二、1.2 总结 前言 一、 B D C 类图、对象图、包图 其他系统及用户 功能需求 用例 人、硬件或其他系统可以扮演的角色7. D C 数据 原型/系统原型;瀑布 A 功能;功能需求 D 数据存储;圆形/圆角矩形;矩形 C T;T;F C C B C D C …...

一款基于WordPress开发的高颜值的自适应主题Puock

主题特性 支持白天与暗黑模式 全局无刷新加载 支持博客与CMS布局 内置WP优化策略 一键全站变灰 网页压缩成一行 后台防恶意登录 内置出色的SEO功能 评论Ajax加载 文章点赞、打赏 支持Twemoji集成 支持QQ登录 丰富的广告位 丰富的小工具 自动百度链接提交 众多页面模板 支持评论…...

浙教版 七年级下册 科学复习干货

七年级下册 浙教版科学 复习干货 文章目录 七年级下册 浙教版科学 复习干货第 I 章人类 H u m a n Human Human人类生殖系统胚胎发育、娩出过程青春期 动物 A n i m a l Animal Animal生长时期有性生殖无性生殖 植物 P l a n t Plant Plant种子结构种子萌发芽花有性生殖无性…...

罗盘时钟lua迷你世界

--罗盘时钟 --星空露珠工作室制作 --作者:韩永旗 --数字换中文 local zhChar {一,二,三,四,五,六,七,八,九} function formatNumber( num ) if type(num)~number then return num..is not a num end if num>99 then return num..不是两位数 end if num0 then return 零 el…...

【Java】Java基础语法

一、注释详解 1.1 注释的语法: // 单行注释/*多行注释 *//**文档注释 */ 1.2 注释的特点: 注释不影响程序的执行,在Javac命令进行编译后会将注释去掉 1.3 注释的快捷键 二、字面量详解 2.1 字面量的概念: 计算机是用来处理…...

利用golang_Consul代码实现Prometheus监控目标的注册以及动态发现与配置

文章目录 前言一、prometheus发现方式二、监控指标注册架构图三、部分代码展示1.核心思想2.代码目录3、程序入口函数剖析4、settings配置文件5、初始化配置文件及consul6、全局变量7、配置config8、公共方法目录common9、工具目录tools10、service层展示11、命令行参数12、Make…...

Python爬虫介绍

Python 作为一种广泛应用的编程语言,在 Web 开发、大数据开发、人工智能开发和嵌入式开发等领域都有着重要的应用。 Python 的易学性、清晰性和可移植性等特点使它得到很多技术人士的喜爱。对于数据科学和机器学习领域的程序员来说,Python 提供了强大的…...

Linux 进程管理

一、查看进程 使用ps -aux进行查看,其中a表示列出所有进程信息,u以用户格式显示进程信息,x显示后台进程参数,也可以使用| grep 进行进程的筛选 以下是显示进程后的示意 USER为进程执行的用户 PID为进程号 %CPU为该进程的cpu占用…...

【车载测试】CAN协议、CAN- FD协议和FlexRay协议 区别

【上半场电动化,下半场智能化】 一、CAN协议 和 CAN- FD协议的区别 CAN(Controller Area Network)协议是一种广泛用于汽车和工业控制系统等领域的现场总线协议。CAN- FD(Flexible Data Rate)协议是对CAN协议的扩展&am…...

对日期的处理

对日期的处理 对编码进行统一,在脚本最开始: # -*- coding: utf-8 -*-这里涉及到两个操作,一个是将数据进行标准化,比如有些日期是2024/05/06这并不符合日期的标准格式,需要转换成这样的2024-05-06 def tran_std(st…...

赵丽颖纯白茉莉绽放温柔之美

赵丽颖纯白茉莉,绽放温柔之美在这个繁忙喧嚣的娱乐圈,赵丽颖以其独特的魅力,成为了无数人心中的白月光。近日,赵丽颖工作室发布了一组live图,她身着一袭温柔白裙,宛如一朵盛开的纯白茉莉花,美得…...

软考高级论文真题“论湖仓一体架构及其应用”

论文真题 随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化OLTP…...

CentOS系统查看版本的各个命令

cat /etc/centos-release 查看CentOS版本 uname -a 命令的结果分别代表:当前系统的内核名称、主机名、内核发型版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称 cat /proc/version 命令用于查看Linux内核的版本信息。执行该命令后&#xf…...

[保姆级教程]uniapp实现底部导航栏

文章目录 前置准备工作安装HBuilder-X新建uniapp项目教程使用HBuilder-X启动uniapp项目教程 实现底部导航栏package.json中配置导航栏详细配置内容 前置准备工作 安装HBuilder-X 详细步骤可看上文》》 新建uniapp项目教程 详细步骤可看上文》》 使用HBuilder-X启动uniapp项…...

STM32多功能交通灯系统:从原理到实现

一、功能说明 本交通灯系统采用先进的stm32f103c8t6微处理器为核心控制单元。系统设置东南西北四个方向各配置两位数码管,用以精准展示5至99秒的时间范围,并且允许用户根据实际需求进行灵活调整。 在信号灯配置方面,每个方向均配备左转、直…...

Pip换源秘籍:让你的Python包飞行起来!

在Python的包管理中,Pip是最重要的工具之一。它允许开发者从Python Package Index (PyPI)安装包,但有时由于网络问题或服务器负载过高,直接从PyPI安装包可能会非常慢。这时,更换Pip源到一个更快的镜像站点是一个常见的解决方案。本…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...