centos8.2安装php环境_yangzailu-编程思维

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

 

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/yangzailu/p/15842063.html