Centos7.X下源码安装php7.2以及让systemd 管理php-fpm服务

17 篇文章 0 订阅

原文链接:https://blog.csdn.net/IT_10/article/details/89501236

1.安装php
1.下载源码包

wget -c http://cn2.php.net/distributions/php-7.2.4.tar.gz
1
2.解压源码包

tar -xzvf php-7.2.4.tar.gz
1
3.安装依赖

yum install -y libxml2*
yum install -y openssl*
yum install -y libcurl*
yum install -y libjpeg*
yum install -y libpng*
yum install -y freetype*
yum install -y libmcrypt*
1
2
3
4
5
6
7
4.指定安装目录和模块

//在php-7.2.4目录下进行
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
1
2
配置完成后会提示: Thank you for using PHP.

5.编译和安装

make & make install
1
6.添加配置文件

//进入/usr/local/php目录
cp php.ini-production /usr/local/php/etc/php.ini      
//进入/usr/local/php/etc目录
cp php-fpm.conf.default php-fpm.conf
//进入/usr/local/php/etc/php-fpm.d目录
cp www.conf.default www.conf
1
2
3
4
5
6
7.启动

//进入/usr/local/php/sbin
./php-fpm
1
2
8.提示
如果报错 [pool www] cannot get uid for user ‘www’,这是因为没有将www加入linux用户组和用户中,通过如下命令加入即可

groupadd www
useradd -g www www
1
2
打开/etc/passwd可以看到www已经加入进去


2.将php-fpm配置成systemctl服务
vim /usr/local/php/etc/php-fpm.conf
//修改如下内容
pid = /var/run/php-fpm.pid
1
2
3
新建 php-fpm 服务文件

vim /usr/lib/systemd/system/php-fpm.service
//内容如下
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
重新加载systemctll配置

systemctl daemon-reload
1
启动

systemctl start php-fpm
1
配置nginx让其支持php
一、如果通过yum命令安装的php,则按照以下方式进行
yum命令方式安装的nginx目录结构如下,在conf.d目录下,只有一个default.conf配置文件

打开default.conf,把一下部分的注释去掉,并且把红色框中的/scripts修改为nginx的html目录(在这之前,确定已安装了php-fpm)

二、如果通过源码安装的php,则按照以下方式进行
目录结构如下

Nginx 与 php-fpm 通信过程是通过 nginx 的 fastcgi 模块来处理的,即 fastcgi 模块将来自客户端的关于 php 文件的请求转发给 php-fpm 来处理。既然是转发请求,那么必须要遵循一定的协议,也就是 fastcgi.conf 所规定的协议。
关于Nginx和php-fpm请参考 https://segmentfault.com/a/1190000007322358
打开nginx.conf修改配置文件,添加如下内容

 location ~ \.php$ {
            include /usr/local/openresty/nginx/conf/fastcgi.conf;
            fastcgi_intercept_errors on;
            fastcgi_pass 127.0.0.1:9000;
        }
1
2
3
4
5
重启nginx
在html目录下放置测试文件phpinfo.php

<?php
    phpinfo();
?>
1
2
3
在浏览器上访问

将nginx和php加入环境变量
vim /etc/profile

PATH=$PATH:/usr/local/openresty/nginx/sbin
PATH=$PATH:/usr/local/php/bin
1
2
刷新

source /etc/profile
1
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值