LNMP架构

2020-04-23  本文已影响0人  Linux运维

一、LNMP的基本概述

LNMP是一套技术组合(Linux+Nginx+MySQL+php)


用户访问流程:
1.用户通过http协议发起请求,到达Nginx
2.Nginx根据用户的请求进行location匹配
3.匹配到的请求如果是静态,则由Nginx读取本地直接返回
4.匹配到的请求如果是动态,则由Nginx将请求发送给fastcgi请求
5.fastcgi收到后将请求发给php-fpm管理进程,php-fpm收到后调用具体的工作进程warrap
6.warrap进程会调用php程序进行解析,如果只是解析代码,直接返回
7.如果有查询数据库操作,那php会连接数据库,进行查询
8.最后将数据原路返回,交给用户

二、nginx集成php

1.启动php-fpm服务

2.配置nginx

server {
    listen 80;
    server_name php.oldxu.com;
    root /code;

    #当用户请求php.oldxu.com --> php.oldxu.com/index.php
    location / {
        index index.php;
    }

    #将请求转给php-fpm程序,同时携带我们需要被解析的文件路径 SCRIPT_FILENAME = /code/index.php
    location ~ \.php$ {
        fastcgi_pass localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
#一些内容的含义
fastcgi_pass   用来指定本地服务器的回环地址以及端口
fast_param    用来指定变量的
SCRIPT_FILENAME 一个固定变量,用来告诉fastcgi想要访问的目录以及文件名
$document_root     代表的是存放站点的目录
$fastcgi_script_name   代表文件名称
include fastcgi_params    用来包含其他的变量,/etc/nginx/fastcgi_params 文件存放变量  

3.根据配置文件进行初始化操作,编写php代码

<?php
  .......
?>

三、php集成mysql

测试php是否能正常连接我们的mysql
1.启动mariadb(数据库)

2.设定mysql用户和密码

#设定mysql的root用户的密码
mysqladmin password ***
#登录数据库
mysql -uroot -p***

3.编写php连接数据库的代码,访问检测

<?php
  //设定变量:服务器名、数据库的用户名和密码
  $servername = "localhost";
  $username = "root";
  $password = "***";

  //创建连接
  $conn = mysql_connect($servername, $username, $password);

  //检测连接
  if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
   }
   echo "php连接MySQL数据库成功";
?>

四、部署LNMP架构

wordpress、wecenter

整体步骤 注意事项
1.下载并解压代码
2.授权属主和属组 修改nginx和php-fpm的运行身份
3.创建数据库 create database name;
4.编写Nginx的配置文件 nginx -t 检查语法错误
5.配置域名解析 hosts劫持
6.测试访问,检查是否异常

五、拆分数据库至独立的服务器

整体步骤 注意事项
1.备份数据库数据,并推送到独立的服务器 mysqldump -uroot -p*** -A >
2.在独立的服务器上回复推送的数据 安装、启动、输入重定向(mysql < )
3.在独立的服务器上允许用户进行连接 登录、授权、测试(在原先服务器上,-h指定ip)
4.关闭原先的数据库服务
5.将php程序连接数据库的地址指向独立的服务器 对部署网站的.php文件修改,可以用find查找
上一篇 下一篇

猜你喜欢

热点阅读