一 . 使用yum源安装基础软件
yum -y install make gcc gcc-c++ openssl openssl-devel pcre-devel zlib-devel libxml2 libxml2-devel vim
二 . 安装Nginx
①上传源码包
②进入到上传目录解压
③进入解压目录执行configure
./configure --prefix=/usr/local/nginx ----with-http_stub_status_module
④安装
二、安装php
此处所安装的php最为精简没有开启一些其他的扩展
详细安装php网址参考:https://blog.csdn.net/xys_little/article/details/82254225
最后在php解压目录中执行
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-freetype-dir=/usr/local/freetype --with-gd --with-zlib --with-libxml-dir=/usr/local/libxml2 --with-jpeg-dir=/usr/local/jpeg --with-png-dir --enable-mbstring=all --enable-mbregex --enable-fpm --with-config-file-path=/usr/local/php/etc
遇到问题:
--build=${CLFS_HOST} --host=${CLFS_TARGET} --target=${CLFS_TARGET}
表示在宿主机构建,运行于目标机,用来生成目标机二进制代码的 工具链。 在宿主机构建:构建过程中有些中间程序需要运行于宿主,需要宿主自己的工具链来编译。 运行于目标机:构建生成的程序是目标机上的可执行程序。 用来生成目标机二进制代码:构建生成的程序是目标机上的本地编译工具链。
为什么需要 --build?
您可以使用 i486-linux-gnu 的系统,但使用 i686 甚至 x86_64 的内核,这种情况您就必须手工指定正确的参数,否则 autotool 会自作主张,有可能给出错误值。
为什么需要 --target?
您必须告诉配置系统工具链生成的目标代码类型,不要想当然。 还有问题,请自己动手验证,您会发现动一次手,几乎能解决您所有问题。
三、Nginx与php交互
1、Nginx目录介绍
Conf:存储Nginx的配置文件目录
Html:默认web根目录
Logs:存储Nginx的日志目录
Sbin:Nginx的可执行文件
2、Nginx启动重启等操作(重点)
①启动Nginx
/usr/local/nginx/sbin/nginx
②查看Nginx是否启动
ps aux|grep nginx
③关闭Nginx
/usr/local/nginx/sbin/nginx -s stop
④重启Nginx
/usr/local/nginx/sbin/nginx -s reload
关于Nginx在重启、关闭操作属于平滑的方式进行。Nginx借助于平滑方式可以实现在线升级而不中断服务
3、PHP启动
①启动php
/usr/local/nginx/sbin/php-fpm
②解决报错
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
③继续解决报错
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
④查看php是否启动正常
4、配置Nginx解析php
①创建测试文件测试
②修改配置文件
③重启Nginx服务
④再次查看文件
5.修改php.ini文件路径
cp php.ini-development /usr/local/php/etc/php.ini
6将nginx通过service启动(本质是/etc/init.d/目录下的脚本文件)
#!/bin/bash
#判断nginx是否已经启动
hasRun=`netstat -tunple|grep nginx|wc -l`
nginxPath='/usr/local/nginx/sbin/nginx'
case $1 in
start)
if [ ${hasRun} -eq 0 ]
then
`${nginxPath}`
else
echo "error:nginx is started"
fi
;;
stop)
if [ ${hasRun} -eq 1 ]
then
`${nginxPath} -s stop`
else
echo "error:nginx no running"
fi
;;
restart)
if [ ${hasRun} -eq 1 ]
then
`${nginxPath} -s reload`
else
echo "error:nginx no running"
fi
;;
*) echo "input start|stop|restart"
;;
esac
8、虚拟主机配置
8.1、配置文件解释
8.2、配置虚拟主机(重点)
①修改Nginx的配置文件
增加server段的内容
②重启Nginx服务
③修改本机的hosts指向
④使用cmd中的ping检查
ping www.php.com
⑤注意防火墙是否已经关闭