一、手动安装编译工具:
yum install -y gcc gcc-c++
二、添加用户和用户组:
groupadd web
useradd -M -s /sbin/nologin -g web php
三、yum安装依赖:
yum -y install libmcrypt libmcrypt-devel mcrypt mhash libxml2-devel libpng-devel libjpeg-devel zlib bzip2 bzip2-devel libtool-ltdl-devel pcre-devel openssl-devel freetype-devel libcurl-devel icu perl-libintl postgresql libicu-devel
说明:其中libxml2-devel是PHP编译安装所必需的依赖包。
四、安装libmcrypt依赖:
# 获取libmcrypt:https://sourceforge.net/projects/mcrypt
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
五、安装PHP:
1)下载PHP解压:
cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.6.27.tar.gz
tar -zxvf php-5.6.27.tar.gz
cd php-5.6.27/
2)然后开始编译安装:
./configure --prefix=/usr/local/php --enable-fpm --with-zlib --enable-zip --enable-mbstring --with-mcrypt --with-mysql --with-mysqli --with-pdo-mysql --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-curl --with-openssl --with-mhash --enable-bcmath --enable-opcache
然后:
make && make install
六、通过.php文件执行PHP代码:
vim test.php
<?php
echo "hello world!\n";
?>
/usr/local/php/bin/php -f test.php
说明:从结果可以看到PHP成功执行了test.php文件。
八、配置文件:
1)
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
2)PHP本身也有一个配置文件php.ini, 默认该文件没有安装,在PHP解压后的源码包中可以找到两个预设的php.ini:
执行拷贝命令:
cp php.ini-development /usr/local/php/lib/php.ini
九、创建php-fpm开机启动:
1)在/lib/systemd/system/中添加php-fpmd.service文件:
vim /lib/systemd/system/php-fpmd.service
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
[Service]
Type=forking
PIDFile=/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --daemonize -g /run/php-fpm.pid
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2)然后更改权限:
chmod a+x /lib/systemd/system/php-fpmd.service
3)然后执行一些命令进行测试:
systemctl start php-fpmd.service
systemctl stop php-fpmd.service
systemctl start php-fpmd.service
systemctl daemon-reload
4)查看下程序的进程和端口:
执行命令:
ps aux |grep php
从截图中,我们可以看到php-fpm的主进程的用户是root,子进程的工作于nobody用户。