• centos8.2安装php环境


    centos环境为最干净的初始环境

    1.查询当前centos版本

    cat /etc/redhat-release

    2.下载要安装的php版本包:https://www.php.net/downloads.php

     3.在/home下新建文件夹mw/app/

    mkdir /home/mw/app

      mkdir /home/mw/app/php

      chmod -R 0777 /home/mw/app

    4.上传php安装包到/home/mw/app目录下

     5. 解压php安装包

     tar -xzvf  php-7.3.33.tar.gz

     6.安装php依赖

    sudo 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  bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel  krb5-devel libidn openssl openssl-devel
    centos平台编译环境使用如下指令
    安装make:
    yum -y install gcc automake autoconf libtool make
    安装g++: yum install gcc gcc-c++

    7.新增用户和用户组

    groupadd www
    useradd -g www www

    8.查询lnmp生产环境目前编译了什么文件:

    /usr/local/php/bin/php -i | grep configure

    9. 进入/home/mw/app/php-7.3.33 下,开始编译安装

    在/home/mw/app/ 下新建文件夹,freetype,预编译使用。

    mkdir /home/mw/app freetype
    cd  php-7.3.33
    ./configure --prefix=/home/mw/app/php --with-config-file-path=/home/mw/app/php/etc --with-config-file-scan-dir=/home/mw/app/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/home/mw/app/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --without-libzip --enable-soap --with-gettext --enable-opcache --with-xsl

    10. 编译报错,缺少ICU

    checking for location of ICU headers and libraries... checking for icu-config... no
    not found
    configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.

    yum install libicu-devel

    11.继续预编译:预编译成功,继续安装:

     12.执行编译安装

    make && make install

    13.安装编译完成

     14.配置php文件

    sudo cp /home/mw/app/php-7.3.33/php.ini-production /home/mw/app/php/etc/php.ini

    15.设置php-fpm配置文件

    cd /home/mw/app/php/etc
    sudo cp php-fpm.conf.default php-fpm.conf
    cd /home/mw/app/php/etc/php-fpm.d
    sudo cp www.conf.default www.conf

    16./home/mw/app/php/etc/php-fpm.conf的内容进行如下修改

    pid= /home/mw/app/php/var/run/php-fpm.pid

    17./home/mw/app/php/etc/php-fpm.d/www.conf的内容进行如下修改

    [www]
    listen = 127.0.0.1:9000
    listen.backlog = -1
    listen.allowed_clients = 127.0.0.1
    listen.owner = www
    listen.group = www
    listen.mode = 0666
    user = www
    group = www
    pm = dynamic
    pm.max_children = 60
    pm.start_servers = 30
    pm.min_spare_servers = 30
    pm.max_spare_servers = 60
    pm.max_requests = 1024
    pm.process_idle_timeout = 10s
    request_terminate_timeout = 100
    request_slowlog_timeout = 0
    slowlog = var/log/slow.log

    18.启动php-fpm

    sudo /home/mw/app/php/sbin/php-fpm

    启动后,使用命令

    ps aux | grep php-fpm

    命令查看进程,若能够看到相关进程,则证明启动成功。查询进程时,可以看到进程是以www用户身份执行的

    19.加入系统环境变量:使用vim命令打开/etc/profile文件,在文件最末尾加上如下代码:

    export PHP_HOME=/home/mw/app/php
    export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin

    保存修改后,使用source命令重新加载配置文件,命令如下

    source /etc/profile

    执行上述命令后,可使用echo $PATH命令查看环境变量中是否已经加入了相关的路径

    20.把php-fpm添加到服务

    重启php-fpm

      ps aux | grep php-fpm 

      kill -USR2 pid

    21. 找到 /home/mw/app/php-7.3.33/sapi/fpm/init.d.php-fpm文件

    cp init.d.php-fpm /etc/init.d/php-fpm 将该文件复制到 /etc/init.d 目录下并改名为 php-fpm  

    22.赋予脚本可执行命令,添加开机自启动

    chmod +x /etc/init.d/php-fpm //给于可执行权限
    chkconfig --add php-fpm //把php-fpm添加到服务
    chkconfig php-fpm on  //设置开机自启

    23.测试指令

    service php-fpm start
    service php-fpm stop
    service php-fpm restart

    24.重启服务器验证:

    shutdown -r now

    25. 杀死php-fpm所有进程:

    ps -ef|grep php-fpm|awk -F ' ' '{print $2}'|xargs kill -9
  • 相关阅读:
    Spark学习之键值对(pair RDD)操作(3)
    Spark学习之RDD编程(2)
    Spark学习之基础相关组件(1)
    SAS进阶《深入分析SAS》之数据汇总和展现
    程序员必知的LinuxShell命令
    Java&Xml教程(八)使用JDOM将Java对象转换为XML
    DSp寄存器“是怎么和板子上的”具体地址“一一对应起来的
    WT588D播放合成语音时出现某些语句不能正常播报的情况,经过对比其他语句,看似有点不符合逻辑。
    模块化编程时中断函数的处理
    keil编译时出现*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
  • 原文地址:https://www.cnblogs.com/yangzailu/p/15842063.html
Copyright © 2020-2023  润新知