一、安装环境
操作系统CentOS6.8
关闭SeLinux和iptables防火墙
二、网络yum源
将下面的软件下载到 /etc/yum.repos.d/ 的目录下
官方基础:http://mirrors.aliyun.com/repo/Centos-6.repo
epel拓展:http://mirrors.aliyun.com/repo/epel-6.repo
下载完成后,需要使用命令清楚掉原有的yum缓存,使用新的配置晚间建立缓存
yum clean all #清除原有缓存列表
yum makecache #建立新的缓存列表
yum -y update #将所有能更新的软件更新,这样安装之后就有依赖所有新的
#软件
然后编译工具和依赖软件包
yum -y install gcc* pcre-devel openssl openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel
三、下载php
wget http://tw2.php.net/distributions/php-5.6.38.tar.gz
1、解压php安装包
tar -xf php-5.6.38.tar.gz
2、进入PHP目录,执行php的安装编译
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear --enable-fpm && make && make install
完成之后 可以 echo $? 看看是否报错
若遇到报错,则输入下面代码试试
ln -s /usr/lib64/libpng.so /usr/lib
3、生成php的配置文件
cp -a /lnmp/php.5.6.30/php.ini-production /usr/local/php/etc/php.ini
4、创建软连接,使用php相关命令是更方便
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
四、配置nginx连接PHP (重难点)
1、nginx连接php需要启动php-fpm服务
cd /usr/local/php/etc/
cp -a php-fpm.conf.default php-fpm.conf
生成php-fpm的配置文件,并修改指定参数
修改指定条目的参数:
pid=run/php-fpm.pid
user=nginx
group=nginx
pm.start-servers=2
pm.min_spare_servers=1
pm.max_spare_servers=3
在 php-fpm.conf 文件中,文字太多,不容易找到要修改的内容。所以要记得vim的快捷键
esc /word 搜索出user,然后将其改成nginx就可以了,其他不用修改。
2、修改Nginx的配置文件,使其识别 .php 后缀的文件
vim /usr/local/nginx/conf/nginx.conf
取消下列行的注释,并修改include选项的后缀为 fastcgi.conf ,并注意每一行结尾的分号和大括号
location ~\\.php${
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_patams
}
如图:
,然后写个脚本来启动和关闭 nginx和php。。
#!/bin/bash
ngxc="/usr/local/nginx/sbin/nginx"
pidf="usr/local/nginx/logs/nginx.pid"
ngxc_fpm="/usr/local/php/sbin/php-fpm"
pidf_fpm="/usr/local/php/var/run/php-fpm.pid"
case "$1" in
start)
$ngxc -t &> /dev/null
if [ $? -eq 0 ];then
$ngxc
$ngxc_fpm
echo "nginx service start success!"
else
$ngxc -t
fi
;;
stop)
kill -s QUIT $(cat $pidf)
kill -s QUIT $(cat $pidf_fpm)
echo "nginx service stop success!"
;;
restart)
$0 stop
$0 start
;;
reload)
$ngxc -t &> /dev/null
if [ $? -eq 0 ];then
kill -s HUP $(cat $pidf)
kill -s HUP $(cat $pidf_fpm)
echo "reload nginx config success!"
else
$ngxc -t
fi
;;
*)
echo "please input stop|start|restart|reload."
exit 1
esac
结果演示: