zoukankan      html  css  js  c++  java
  • linxu(centos)安装php-fpm

    编译安装php-fpm

    安装前准备

    yum -y install gcc automake autoconf libtool make
    
    yum -y install gcc gcc-c++ glibc
    
    yum -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

    安装mcrypt

    wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
    
    tar -zxvf libmcrypt-2.5.7.tar.gz
    cd libmcrypt-2.5.7
    mkdir -p /usr/local/libmcrytp
    ./configure prefix=/usr/local/libmcrytp/
    make
    make install

    php-fpm安装

    wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
    tar zvxf php-5.4.7.tar.gz
    cd php-5.4.7

    ./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt=/usr/local/libmcrytp/ --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-dir make all install

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

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

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

    cd /usr/local/php
    cp etc/php-fpm.conf.default etc/php-fpm.conf
    vi etc/php-fpm.conf
    修改
    user = www-data
    group = www-data
    
    如果www-data用户不存在,那么先添加www-data用户
    groupadd www-data
    useradd -g www-data www-data

    二、编译安装nginx

    然后按照linxu(centos)安装nginx 安装nginx

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

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

    其中server段增加如下配置,注意标红内容配置,否则会出现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(); ?>;

    查看phpinfo输出的php.ini路径,并把安装目录的php.ini-production或 php.ini-development复制到php.ini对应的路径
    cp /usr/local/src/php-5.4.7/php.ini-production /usr/local/php/lib/php.ini
    

    五、启动服务

    启动php-fpm和nginx

    /usr/local/php/sbin/php-fpm (手动打补丁的启动方式/usr/local/php/sbin/php-fpm start)

    sudo /usr/local/nginx/nginx

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

    六、浏览器访问

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

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

    1. php configure时出错

    configure: error: XML configuration could not be found
    apt-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.gz
    tar -zxvf bzip2-1.0.5.tar.gz
    cd bzip2-1.0.5
    make
    make 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 locate
    sudo 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

    或者

    wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz

    tar -zxvf libmcrypt-2.5.7.tar.gz
    cd libmcrypt-2.5.7
    mkdir -p /usr/local/libmcrytp
    ./configure prefix=/usr/local/libmcrytp/
    make
    make 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

  • 相关阅读:
    C语言-if语句
    C语言-表达式
    C语言-基础
    Java for LeetCode 187 Repeated DNA Sequences
    Java for LeetCode 179 Largest Number
    Java for LeetCode 174 Dungeon Game
    Java for LeetCode 173 Binary Search Tree Iterator
    Java for LeetCode 172 Factorial Trailing Zeroes
    Java for LeetCode 171 Excel Sheet Column Number
    Java for LeetCode 169 Majority Element
  • 原文地址:https://www.cnblogs.com/simon-sun/p/3333647.html
Copyright © 2011-2022 走看看