iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >nginx php-fpm安装配置
  • 838
分享到

nginx php-fpm安装配置

nginxphp运维 2023-09-02 10:09:15 838人浏览 薄情痞子
摘要

nginx php-fpm安装配置 Nginx本身不能处理PHP,它只是个WEB服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。 nginx一般是把请求发fas

nginx php-fpm安装配置

Nginx本身不能处理PHP,它只是个WEB服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx

本文以php-fpm为例介绍如何使nginx支持PHP

一、编译安装php-fpm

什么是PHP-FPM

PHP-FPM是一个PHP FastCGI管理器 ,是只用于PHP的,可以在 Http://php-fpm.org/download下载得到.

PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

新版PHP已经集成php-fpm了,不再是第三方的包了 ,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,具体选项含义可以查看这里。

安装前准备

Centos下执行

yum -y install GCc automake autoconf libtool makeyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

新版php-fpm安装(推荐安装方式)

wget http://cn2.php.net/distributions/php-5.4.7.tar.gztar zvxf php-5.4.7.tar.gzcd php-5.4.7./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath --enable-inline-optimization --with-bz2  --with-zlib --enable-Sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-Mysql --with-mysqli --with-gd --with-jpeg-dirmake all install

旧版手动打补丁php-fpm安装(旧版程序已经没有了,大家新版的吧,这里做个展示)

wget http://cn2.php.net/get/php-5.2.17.tar.gzwget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gztar zvxf php-5.2.17.tar.gzgzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1cd php-5.2.17./configure --prefix=/usr/local/php -with-config-file-path=/usr/local/php/etc-with-mysql=/usr/local/mysql-with-mysqli=/usr/local/mysql/bin/mysql_config -with-openssl -enable-fpm -enable-mbstring-with-freetype-dir -with-jpeg-dir -with-png-dir -with-zlib-dir -with-libxml-dir=/usr -enable-xml-with-mhash -with-mcrypt -enable-pcntl -enable-sockets  -with-bz2 -with-curl -with-curlwrappers-enable-mbregex -with-gd -enable-gd-native-ttf -enable-zip -enable-soap -with-iconv -enable-bcmath-enable-shmop -enable-sysvsem -enable-inline-optimization -with-ldap -with-ldap-sasl -enable-pdo-with-pdo-mysqlmake all install

以上两种方式都可以安装php-fpm,安装后内容放在 /usr/local/php 目录下

llgch0zh.png

以上就完成了php-fpm的安装。

对php-fpm运行用户进行设置

下面是对php-fpm运行用户进行设置

cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.confvi etc/php-fpm.conf

修改

user = www-datagroup = www-data

如果www-data用户不存在,那么先添加www-data用户

groupadd www-datauseradd -g www-data www-data

二、编译安装nginx

然后按照https://www.cnblogs.com/chaofanq/p/15022916.html 安装nginx

三、修改nginx配置文件以支持php-fpm

nginx安装完成后,修改nginx配置文件为,nginx.conf

其中server段增加如下配置

root html;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

否则会出现No input file specified.错误

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ .php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}

四、创建测试php文件

创建php文件

在/usr/local/nginx/html下创建index.php文件,输入如下内容

<?php    echo phpinfo();?>

五、启动服务

启动php-fpm和nginx

/usr/local/php/sbin/php-fpm #手动打补丁的启动方式/usr/local/php/sbin/php-fpm startsudo /usr/local/nginx/nginx

php-fpm关闭重启见文章结尾

六、浏览器访问

访问http://你的服务器ip/index.php ,皆可以见到php信息了。

llgchb1x.png

七、安装php-fpm时可能遇到的错误

1. php configure时出错

configure: error: XML configuration could not be foundapt-get install libxml2 libxml2-dev  (ubuntu)yum -y install libxml2 libxml2-devel(centos下)

2. Please reinstall the BZip2 distribution

wget http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gztar -zxvf bzip2-1.0.5.tar.gzcd bzip2-1.0.5makemake install

3. php的配置文件中有一行–with-mysql=/usr。

安装的时候提示:

configure: error: Cannot find MySQL header files under yes.Note that the MySQL client library is not bundled anymore.

这是由于安装mysql时没有安装mysql头文件,或者是路径指定不正确,php找不到mysql的头文件引起的错误提示。

解决方法。
(1.) 查看你的系统有没有安装mysql header
find / -name mysql.h

如果有。请指定–with-mysql=/跟你的正常路径。
如果没有。请看下一步。

(2.)redhat安装
rpm -ivh MySQL-devel-4.1.12-1.i386.rpm
(3.)ubuntu安装
apt-get install libmysqlclient15-dev
(4.)最后一步php的配置选项添加–with-mysql=/usr即可!

4.No input file specified.

location ~ .php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}

5. 如果php configure时缺库,可以先安装库(ubuntu下)

sudo apt-get install make bison flex gcc patch autoconf subversion locatesudo apt-get install libxml2-dev libbz2-dev libpcre3-dev libssl-dev zlib1g-dev libmcrypt-dev libmhash-dev libmhash2 libcurl4-openssl-dev libpq-dev libpq5 libsyck0-dev

6. mcrypt.h not found. Please reinstall libmcrypt

apt-get install libmcrypt-dev

或者

cd /usr/local/srcwget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gztar -zxvf libmcrypt-2.5.8.tar.gzcd /usr/local/src/libmcrypt-2.5.8./configure --prefix=/usr/localmakemake install

7. php-fpm 5.4.7 如何关闭 重启?

php 5.4.7 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令, 需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

示例:
php-fpm 关闭:
kill -INT cat /usr/local/php/var/run/php-fpm.pid
php-fpm 重启:
kill -USR2 cat /usr/local/php/var/run/php-fpm.pid
查看php-fpm进程数:
ps aux | grep -c php-fpm

8.命令行下执行php,提示找不到命令

-bash: /usr/bin/php: No such file or directory

vi /etc/profile

在文件底部增加一行配置

export PATH=/usr/local/php/bin:$PATH

保存退出

source /etc/profile

来源地址:https://blog.csdn.net/heshihu2019/article/details/132366377

--结束END--

本文标题: nginx php-fpm安装配置

本文链接: https://www.lsjlt.com/news/390585.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nginx php-fpm安装配置
    nginx php-fpm安装配置 nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。 nginx一般是把请求发fas...
    99+
    2023-09-02
    nginx php 运维
  • nginx+php-fpm的安装和配置
    环境         虚拟机:VMware 16.2.4         OS:centos 7.6         远程连接工具:Xshell 7         nginx版本: nginx-1.14.2         php版本:p...
    99+
    2023-09-12
    服务器 nginx php linux
  • 怎么配置nginx和php-fpm
    这篇文章主要讲解了“怎么配置nginx和php-fpm”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么配置nginx和php-fpm”吧!在php7中,最不可少的就是nginx和php-f...
    99+
    2023-06-20
  • 如何安装和配置PHP-FPM
    本文将为大家详细介绍“如何安装和配置PHP-FPM”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“如何安装和配置PHP-FPM”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知...
    99+
    2023-06-06
  • 如何在nginx中安装 php-fpm
    如何在nginx中安装 php-fpm?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。   Linux下安装php环境并且配置Nginx支持p...
    99+
    2023-06-15
  • Linux系统安装nginx和php-fpm
    Linux系统安装nginx和php-fpm 安装nginx 步骤 安装epel源 yum -y install epel-release 安装nginx yum -y install nginx 启...
    99+
    2023-09-04
    nginx 运维
  • Linux安装配置nginx+php搭建
    Linux安装配置nginx+php搭建 文章目录 Linux安装配置nginx+php搭建1.nginx源码包编译环境和安装相应的依赖1.1 安装编译环境1.2 安装pcre库、zlib库和...
    99+
    2023-09-25
    linux nginx 运维
  • nginx mysql php如何安装配置
    本文操作环境:centos7系统、php 7.2.25版、DELL G3电脑nginx mysql php如何安装配置?CentOS7 下nginx与PHP mysql的安装与配置:下载Nginx  首先安装的依赖包:    gcc aut...
    99+
    2017-05-13
    nginx mysql php
  • nginx mysql php怎么安装配置
    本篇内容介绍了“nginx mysql php怎么安装配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!nginx mysql php安装配...
    99+
    2023-06-25
  • Ubuntu20.04安装配置Nginx
    由于在学习配置时,网上的教程比较杂乱,用时很久才做好一些基础配置,把流程记录一下方便和我一样的小白学习 本文写于2023.2.10,如果间隔太久,下述内容可能会失效,请另寻教程 仅包含基础教程,个人服务未涉及到负载均衡 安装ngin...
    99+
    2023-08-20
    nginx 服务器 ubuntu
  • Centos7安装配置nginx
    1.前言 在进行nginx安装前,考虑到本博客针对很多新手朋友我决定还是先介绍一些nginx知识,这样更加有利于各位读者朋友对nginx的理解,对后续学习也有很大帮助。 介绍 Nginx (engin...
    99+
    2023-08-31
    nginx 运维 centos linux 服务器
  • 腾讯云Centos系统配置nginx+php74+php-fpm
    1, 下载php74, sudo yum list installed|grep php sudo yum remove php* -y sudo yum install https://dl.fedoraproject.org/p...
    99+
    2023-09-11
    php 腾讯云 centos
  • Windows 上Nginx+PHP 的安装与配置
    ​ 一、下载软件 nginx 下载地址 http://nginx.org/en/download.html 下载最新版的即可 PHP 这里使用PHP7.4 下载地址 https://windows.p...
    99+
    2023-09-05
    php nginx 服务器
  • Nginx与php-fpm的通信机制如何配置
    这篇文章主要介绍Nginx与php-fpm的通信机制如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP-FPM 介绍CGI 协议与 FastCGI 协议每种动态语言( PHP,Python 等)的代码文件需...
    99+
    2023-06-29
  • Nginx安装配置详解
    不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦。不过...
    99+
    2022-11-13
  • Nginx如何安装配置
    这篇文章主要介绍“Nginx如何安装配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Nginx如何安装配置”文章能帮助大家解决问题。简介Nginx 的安装:# CentOSyum&nbs...
    99+
    2023-07-02
  • nginx怎么安装配置
    这篇文章主要讲解了“nginx怎么安装配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx怎么安装配置”吧!一、服务器基础配 置远程链接服务器ssh 用户名@公网ip默认的...
    99+
    2023-06-29
  • Mac配置php-fpm
    环境 nginx:1.21.6 php:7.4.28 安装 安装nginx brew install nginx  nginx命令生效 vim ~/.bash_profile # 添加一行 export PATH="$(bre...
    99+
    2023-09-02
    php 开发语言 nginx macos
  • nginx、php-fpm和mysql的用户权限如何配置
    这篇文章主要介绍了nginx、php-fpm和mysql的用户权限如何配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nginx、php-fpm和mysql的用户权限如何配置文章都会有所收获,下面我们一起来看...
    99+
    2023-07-02
  • Centos7安装php-fpm
    目录 第一步:查看系统IP地址和网卡名称 第二步:更改网络配置模式 第三步、重启network 查看iptablies ,将第十行,十一行删除 第四步:关闭config 第五步:创建nginx 文件夹 查看目录下的文件 进入nginx文件夹...
    99+
    2023-10-18
    nginx php-fpm 环境搭建
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作