LINUX学习-PHP安装

一、安装环境

操作系统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就可以了,其他不用修改。

LINUX学习-PHP安装

LINUX学习-PHP安装

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

}

如图:

LINUX学习-PHP安装

,然后写个脚本来启动和关闭  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

结果演示:

LINUX学习-PHP安装

相关推荐