实验思路:首先LNMP是基于fastCGI的方式搭建的,用户访问网站静态页面nginx解析,动态页面转发给php程序解析,程序数据存放在数据库中。所以首先要在nginx配置文件中支持php程序转发功能,把nginx程序的运行者更改为nobody缩小权限,然后把小米程序的所有者更改为nobody,防止黑客劫持,最后记得在php的配置文件中把程序的运行者更改为nobody,默认的是Apache运行,否则php无法对小米程序进行解析。
第一步:准备安装包
yum install mariadb-server nginx php-MySQL php-fpm
第二步:解压官方小米安装包
unzip -d /data/web/ xiaomi.zip
第三步:下载小米商城源码, 解压缩到/data/web目录, 修改权限为nobody
cd /data/web/
chown nobody.nobody . -R --更改为nginx可以管理的nobody用户
第四步:修改nginx配置文件 --运行者改为nobody,不要是root或者是nginx,避免被黑客拦截
注意的地方:需要把主站点页面加上index.php
第五步:修改php配置文件/etc/php-fpm.d/www.conf
更改php-fpm的程序的运行者是nobody,我们设置的小米的程序的运行者是nobody,所以php解析的程序也必须是nobody,不然无法访问
第六步:修改php的功能性配置php.ini
修改时钟配置 date.timezone = Asia/Shanghai
短标签设置short_open_tag = On
第七步: vim config.php 配置数据库或者通过自带的ebak访问也是一样的
第八步:查看日志运行状况,分析数据。
可以看出上面出现了一个小错误,这个时候我们查看错误日志,看一下提示是什么错误。
由上图可以看出是权限拒绝,可以用nginx -V 查看一下nginx默认安装的参数,里面有一些默认路径
改正方法如下:
测试页面
第九步:测压
ab -c 200 -n 1000 ---测试程序最多承压多大
dstat -tlcnmd ---检测系统资源耗费情况
第十步:设置状态页面和状态页面加密验证
cd /etc/nginx/
htpasswd -c htpasswd nginx
切记:连接数据库首先要安装模块,其次要对程序有权限,比如修改配置文config.php.