LNMP(1)

02. 课程知识回顾说明1. location指令使用方法说明:根据用户访问网站uri(访问网站资源信息)信息不同,作出不同的处理方式 www.oldboy.com/sa/oldboy.jpg --- 指定访问什么资源 www.oldboy.com/ --- 指定访问资源路径 相应路径中的首页文件 www.oldboy.com/sa/

匹配方式: 1. 精确匹配相应资源信息 = 2. 模糊匹配相应资源信息 ~ ~* /路径信息/ location ~ /sa/ location ~* /sa/ --- 可以忽略uri信息大小写进行匹配 location /sa/ www.oldboy.com/SA/01/02 3. 优先匹配相应资源信息 .jpg /img/ www.oldboy.com/img/oldboy.jpg location ^~ /img/ location ^~ jpg$ ^~ 不能正常识别正则信息 和alias需要配合问题 处理方式: 1. 灵活跳转站点目录信息 root alias 2. 根据用户地址进行控制 allow deny 3. 根据网站页面进行认证 authxx 4. 根据网站页面进行跳转 rewrite returnalias:指定站点目录路径信息 指定一个路径别名信息 指定路径后必须加 /作为结尾 www.oldboy.com/sa/oldboy.html --> 到alias指定路径中找 相应资源信息(html/www/oldboy.html) root: 指定站点目录路径信息 指定真正访问路径信息 指定路径后 / 可加可不加 www.oldboy.com/sa/oldboy.html --> 到root指定路径中找 sa信息,再找资源信息(/html/www/sa/oldboy.html)2. 跳转指令使用方法1. return方式 简单粗暴 return 状态码 跳转后的地址信息;2. rewrite方式 灵活跳转 rewrite 匹配要跳转信息 跳转后的信息 跳转方法; 跳转方法: 1)break 一次请求,会直接将请求信息进行改变,在进行网站资源访问2)last 一次请求,会进行跳转改变,会根据改变后地址在此重新发送请求3)临时跳转 3024)永久跳转 301 作业: www.oldboy.com ---> www.newboy.com 方式一:多个虚拟主机实现跳转 server { listen 80; server_name www.oldboy.com; rewrite (.*) http://www.newboy.com$1; } server { listen 80; server_name www.newboy.com; location / { root /html/www/; index index.html; } } 方式二:借助if判断指令实现跳转 server { listen 80; server_name www.oldboy.com; rewrite (.*) http://www.newboy.com$1; } server { listen 80; server_name www.oldboy.com www.newboy.com; location / { if ($http_host = www.oldboy.com) { rewrite (.*) http://www.newboy.com$1; } root /html/www/; index index.html; } }

php软件安装过程:

第一个里程:解决yum安装软件冲突问题

    yum remove php-mysql php php-fpm php-common

第二个里程:更新php程序yum下载源

rpm -Uvh 

https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    rpm -Uvh 

https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    第三个里程:安装php软件和相关依赖

    yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded  php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache  php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

    第四个里程:启动服务程序

systemctl start php-fpm 

mariadb软件安装过程:

yum install mariadb-server mariadb -y

05. LNMP架构原理说明

    1)用户向网站发起访问 

   a 静态请求访问

   b 动态请求访问

2)nginx程序接受用户HTTP请求信息

       a 静态请求信息  由nginx程序直接作出响应

       b 动态请求信息  由nginx借助fastcgi_pass指令将请求通过fastcgi接口发送给php程序进行处理   

3)php程序接受nginx发送动态请求信息

       a 本身可以直接处理    通过解析器直接处理    转换成html代码信息返回给nginx程序

       b 需要调用数据库处理  通过解析器访问数据库  数据库会进行处理后返回给php结果  

    4)nginx接收php返回的信息

       将结果信息返回给用户


分析LNMP架构问题:

1)nginx服务程序是否出现问题   

    2)php服务程序是否出现问题    

    3)mariadb服务程序出现问题     问题会比较集中

06. LNMP架构部署配置过程:

    nginx + php程序进行串联:

编写nginx配置文件:

location ~ \.php$ {

        root /html/blog;                --- 让php程序可以知道当哪个路径中获取代码信息  

        fastcgi_index index.php;        --- 默认php程序识别首页文件 index.php  

fastcgi_pass  127.0.0.1:9000;   --- 将动态请求发送给本地主机9000端口 

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

       }

     }


 完整配置:

 server {

        listen       80;

        server_name  

blog.oldboy.com;

        root         /html/blog;

        index        index.html index.htm;

        location ~ \.php$ {

               root /www; 

               fastcgi_index index.php;

               fastcgi_param SCRIPT_FILENAME(变量信息) $document_root$fastcgi_script_name(调用内置变量);

   $document_root        --- 识别访问网站uri资源路径信息

   $fastcgi_script_name  --- 识别访问网站uri资源代码信息



http://www.oldboy.com  /sa/test.php  

                          $document_root+$fastcgi_script_name  = SCRIPT_FILENAME  --> PHP

               fastcgi_pass  127.0.0.1:9000;

               include fastcgi_params;   --- 让nginx程序可以识别一些内置变量

         }

     } 

     验证测试:

 cd /html/blog/

 vim test.php 

 <?php phpinfo(); ?>


 php + mariadb建立关系:由开发人员

 php连接数据库代码:

 <?php

          $servername = "localhost";

          $username = "root";

          $password = "oldboy123";

          //$link_id=mysql_connect('主机名','用户','密码');

          //mysql -u用户 -p密码 -h 主机

          $conn = mysqli_connect($servername, $username, $password);

          if ($conn) {

              echo "mysql successful by root !\n";

          }else{

              die("Connection failed: " . mysqli_connect_error());

          }

     ?>

数据库简单配置方式: 数据库用户存储字符串,数据库会首先构建出一张表(行(记录) 列(字段)),多个表构建一个库    库  --- 表  --- 列/行  修改数据库密码信息: mysqladmin -uroot password "oldboy123"    mysql -uroot -poldboy123 -hlocalhost  创建数据库信息: create database 数据库名称; 查看数据库信息: show databases; 删除数据库信息:???  在数据库中创建管理用户:root grant all(所有权限) on blog.*  to 'blog'@'允许连接数据库白名单信息'  identified by '密码信息'; 查看数据库管理用户是否创建成功: select user,host from mysql.user;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • 一般情况下不建议对生产环境进行升级,升级开始后会停止LNMP相关服务。本文仅适用于LNMP1.2、1.3及1.4等...
    Yaococo88阅读 597评论 0 1
  • 简要介绍: 一般来说,LNMP是Linux+Nginx+MySQL+PHP的简称,是一种用于替代LAMP的解决方案...
    无理取now阅读 4,142评论 1 1
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 1,980评论 0 9
  • Nginx有什么作用呢? Ngnix作为一款高性能的HTTP服务器、反向代理服务器、电子邮件代理服务器,主要有三方...
    JunChow520阅读 3,134评论 1 14
  • 本文作者: 五行哥 QQ: 1226032602 E-mail: 1226032602@qq.com web服务器...
    五行哥阅读 2,862评论 0 2