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