怎么敲代码做网站,金华市住房建设局网站,企业网站建设合作协议范文,网站开发设计流程文档目录
问题描述#xff1a;
原因#xff1a;
1. 使用 Unix 域套接字#xff08;Unix Socket#xff09;
区别和优势#xff1a;
2. 使用 TCP/IP 套接字
区别和优势#xff1a;
如何选择
扩展#xff1a;Rocky_Linux9.4安装PHP的步骤#xff1a;
使用Remi存储库…
目录
问题描述
原因
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 安装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版本。 启用PHP模块 安装完Remi存储库后您需要启用特定版本的PHP。假设您想要安装PHP 7.4可以使用以下命令启用对应版本的PHP模块 sudo dnf module reset php sudo dnf module enable php:remi-7.4 如果您想安装更高版本的PHP如PHP 8.0或更高则需要调整上述命令中的版本号。 安装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扩展。 启动PHP-FPM服务如果安装了PHP-FPM sudo systemctl start php-fpm sudo systemctl enable php-fpm 将启动PHP-FPM服务并设置为在系统启动时自动启动。 验证安装 安装完成后您可以通过以下命令验证PHP是否成功安装 php -v 将会显示PHP的版本信息确认安装成功。
[rootlocalhost ~]# 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