Nicolase 2020-05-05
一、安装环境
操作系统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的配置文件,并修改指定参数
vim php-fpm.conf
修改指定条目的参数:
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结果演示:

<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh