前言
与apche的php不同的是咱们nginx的php需要用到–enable-fpm 模块,
其他流程基本上都是大同小异!!
- 搭建好咱们测试nginx,mysql是否能访问正常
谢谢观看!!
- 安装版本php-7.1
二,PHP
步骤一:PHP依赖环境包
yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
//配置解释
libjpeg \ //支持图片格式jpg
libjpeg-devel \
libpng libpng-devel \ //支持图片格式png
freetype freetype-devel \ //支持字体样式
libxml2 \ //支持xml格式
libxml2-devel \
zlib zlib-devel \ //提供数据压缩模块
curl curl-devel \ //curl是利用URL语法在命令行方式下工作的开源文件传输工具
openssl openssl-devel //开放源代码的软件库包
步骤二:到软件包所在目录opt解压
cd /opt
yum -y install bzip2 # 最小化安装可能没有bzip2工具下载下
tar xjvf php-7.1.10.tar.bz2
步骤三: 编译安装
cd php-7.1.10
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
//配置解释
编译安装,主要也是将咱们上面的模块启动起来。
--prefix=/usr/local/php \ //指定安装路径
--with-mysql-sock=/usr/local/mysql/mysql.sock \ //mysql的通讯文件,连接mysql必要文件
--with-mysqli \ //指定数据库
--with-zlib \ //开启模块 这里不做解释了
--with-curl \
--with-gd \ //开启gd库,所有的图片都是通过gd库来实现,所以gd库是首先要开启的;
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \ //重点来了,让动态处理模块,lnmp要支持动态处理,必须要开启的模块
--enable-mbstring \ //启动多字节字符串支持
--enable-xml \
--enable-session \ //用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。
--enable-ftp \ //开启ftp模块
--enable-pdo \ //扩展为PHP访问数据库定义了一个轻量级的一致接口。
--enable-tokenizer \ //允许一个应用程序进入一个令牌
--enable-zip //开启zip压缩模块
make && make install
步骤四:优化过程
//php有三个配置文件
php.ini 核心配置文件
php-fpm.conf 进程服务配置文件
www.conf 扩展配置文件
cp php.ini-development /usr/local/php/lib/php.ini //在解压后的php目录下,开发测试环境文件,复制到工作目录下php.ini核心配置文件
vi /usr/local/php/lib/php.ini //编辑,指定mysql的接口,对接mysql
mysqli.default_socket = /usr/local/mysql/mysql.sock //1170行
date.timezone = Asia/Shanghai //时区,亚洲,上海939行
/usr/local/php/bin/php -m //验证php已经安装的模块
步骤五:配置优化FRM模块
cd /usr/local/php/etc/
cp -p php-fpm.conf.default php-fpm.conf
cd /usr/local/php/etc/php-fpm.d/
cp -p www.conf.default www.conf
//为什么要改成以.conf结尾的文件名呢?
在php.fpm.conf文件内有这么一条命令:
include=/usr/local/php/etc/php-fpm.d/*.conf
扩展模块支持目录下所有带有.conf结尾的文件!!!所以咱们更改是为了能够识别
cd /usr/local/php/etc/
vi php-fpm.conf
pid = run/php-fpm.pid //启用模块,去掉; 启动pid文件
//启动fpm模块 -c启动
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini
netstat -anpt |grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 127009/php-fpm: mas
//优化命令文件,将php命令文件,在系统命令中能够识别
ln -s /usr/local/php/bin/* /usr/local/bin/
//过滤进程
ps aux|grep -c 'php-fpm' //过滤进程4个php-fpm进程
4
步骤六:让nginx支持PHP功能
vi /usr/local/nginx/conf/nginx.conf //在nginx.conf配置文件里面有配置段,去掉#号就行,
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
//配置解释:
location ~ \.php$ { //rewrite模块支持的location ~支持正则表达式
root html; //站点目录 注意目录名称
fastcgi_pass 127.0.0.1:9000; //监听端口ip地址
fastcgi_index index.php; //支持站点文件格式
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; //网页文件存放位置,注意目录名称
include fastcgi_params; //php自定义的变量
}
//保存之后最好检查下语法是否正确
nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
步骤七:做php测试网页文档
vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
步骤八: 重启nginx服务验证
20.0.0.25/index.php
步骤九:测试mysql数据库是否正常
##登录mysql数据库,创建一个bbs数据库,并授权
mysql -u root -p #会让你输入密码,咱们之前创建mysql的密码abc123
##进入数据库之后
CREATE DATABASE bbs; //创建bbs数据库
GRANT all ON bbs.* TO 'bbsadm'@'%' IDENTIFIED BY 'admin123'; //允许ip地址
GRANT all ON bbs.* TO 'bbsadm'@'localhost' IDENTIFIED BY 'admin123'; //允许主机
flush privileges; //刷新数据库
注:在数据创建库,需要是三个字符以上,如:bbs,hgg...
#####做数据库测试网页文档
vi /usr/local/nginx/html/index.php
<?php
$link=mysqli_connect('20.0.0.25','bbsadm','admin123');
if($link) echo "<h1>凌晨四点了!!</h1>";
else echo "Fail!!";
?>
步骤十:测试验证
20.0.0.25/index.php