LNMP网站架构的安装部署

网站架构组成介绍说明
LNMP: Linux Nginx MySQL PHP

nginx/apache(搬运工-中间件) --- 网站用户访问 html代码语言 css js 静态资源文件 --> 动态资源

PHP-PHP代码           TOMCAT-java代码              Python-python代码           go ... 动态代码解析服务
     HTML        HTML            HTML

 

 

网站架构工作原理介绍

 

 

  第一个历程:用户发出访问网站服务请求


  第二个历程:网站服务端会接收请求,并判断请求资源信息
    静态资源信息,由nginx静态网站服务进行处理,将站点目录中资源信息进行传输
    动态资源信息,由nginx利用fastcgi接口,将动态访问信息转发给PHP服务


  第三个历程:PHP服务接收到动态资源访问请求
    方式一:直接识别动态资源代码文件,进行翻译或解析,转换成HTML代码信息
    方式二:需要和数据库建立连接,读取数据或存储数据信息,再将PHP代码翻译为HTML代码,进行响应


  第四个历程:nginx服务接收到PHP响应HTML静态资源代码信息,会转发客户端浏览器


  第五个历程:客户端浏览器识别HTML代码信息,加载显示网站页面

 

网站架构服务部署过程:
  Linux:
    · 系统中,/tmp/目录权限是否是 1(t)777
    · 系统安全优化 yum优化
  Nginx:
    · 确认nginx站点目录权限信息 属主权限设置好 ???
    · 确认好Nginx服务配置信息 nginx -t
  PHP部署过程:
    第一个历程:确认系统是否已经存在了PHP相关程序
      rpm -qa|grep php*
      yum remove -y php-xxx

    第二个历程:更新PHP软件下载源
      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

      PS:PHP编译安装过程
      https://www.cnblogs.com/ksy-c/p/12785238.html


    第四个历程:启动PHP程序服务
      systemctl start php-fpm
      确认服务是否启动:
        1)查看服务进程信息 ps -ef|grep php
        2)查看服务端口信息 netstat -lntup

          TCP:传输控制协议 面向连接网络协议(可以保证数据传输可靠性) 用途:HTTP访问网站页面 FTP 邮件服务
          UDP:用户报文协议 无连接网络协议 (可以保证数据传输效率) 用途:DNS解析 视频通讯 语言通讯
              -l 列表显示端口和服务进程信息
              -n 以数字方式显示信息
              -t 显示tcp信息的端口和服务进程信息
              -u 显示udp信息的端口和服务进程信息
              -p 显示服务进程信息

  MySQL部署安装:

    简单方便 -- mariadb   Mysql==mariadb

    第一个历程:安装程序软件
      yum install -y mariadb mariadb-server

    第二个历程启动数据库程序并简单配置
      systemctl start mariadb

      mysqladmin -uroot password "oldboy123" --- 设置密码信息
      drop database test; --- 删除无用数据库
      delete from user where user=""; --- 删除无用数据库用户信息

  需要将LNMP架构进行串联
    nginx 和 php进行串联
    第一个历程:让nginx和php建立关系
      server {
        listen 80 default_server;
        server_name bbs.oldboy.com;
        root /html/bbs;
        index index.php index.html;
        location ~ \.php$ { --- 匹配客户端访问php动态资源信息
          fastcgi_pass 127.0.0.1:9000; --- 将动态资源请求抛送给后端PHP程序
          root /html/bbs; --- 告知PHP程序,默认资源信息保存目录
          fastcgi_index index.php; --- 在PHP收到Nginx发送消息后,没有特殊指定动态资源文件,默认处理index.php首页文件
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; --- 可以精准告知PHP需要处理文件路径信息
          include fastcgi_params;
        }
      }

    第二个历程:进行测试验证
      在站点目录中,创建php动态代码文件
      502 表示前段服务正常 nginx 但是后端服务不能接受前端服务请求

  php 和 数据库进行串联

          -- 利用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());
      }
    ?>

 

企业动态资源发布过程
  第一个历程:获取网站动态资源代码 上传解压
省略

  第二个历程:进行网站初始化过程 (开源)
    环境检查过程 需求进行指定目录授权 chown
    创建库和用户过程 创库sql 授权sql

  第三个历程:测试访问看看
    测试能不能发帖

server {
        listen       80;
        server_name  bbs.oldboy.com;
        root         /html/bbs/upload;
    index        index.php;
    location ~.*\.php$ {
        fastcgi_pass 127.0.0.1:9000;
        root /html/bbs/upload;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

 

 

 

 

posted on 2020-09-29 15:07  速龙鸟  阅读(172)  评论(0编辑  收藏  举报