一、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查找 |









网友评论