如何部署LNMP环境?
部署LNMP环境需要了解以下3个知识点:
1.LNMP指的是什么,它的特点和作用分别是什么?
2.如何修改nginx配置文件的内容?
3.修改nginx配置文件中的PHP需要注意些什么?
4.nginx实现动静分离网页的工作原理是什么?
5.如何验证文件配置的结果是否正确?
1.LNMP指的是什么,它的特点和作用分别是什么?
L 指的是Linux操作系统; 特点:稳定,低耗;
N 指的是Nginx搭建网页的软件; 特点:稳定,高并发;
M 指的是Mariadb数据库; 特点:免费,运行速度更快;
P 指的是PHP专用于编写网页的编程语言; 特点:反应快速,对数据库的兼容性强;
要实现动静态网网页分离首先要做的就是安装上述的系统和软件;
作用:Linux操作系统+Nginx搭建web服务器软件+Mariadb数据库软件+PHP网页编程语言,组合起来可以搭建出一个复杂而丰富的web服务,一个炫酷的动静态分离的网页;
2.如何修改nginx配置文件的内容?
要搭建出实现客户端访问服务端时,服务器会自动的将静态网页和动态网页进行分离的web服务,需要更改Nginx的配置文件;
流程如下:
vim /usr /local /nginx /conf /nginx.conf ##入配置文件
:set nu 进如末行模式找到第71行左右的位置,(不同配置文件行号有所不同),具体以下列信息为准;
charset utf-8; ##如果要在网页中书写中文就需要添加这一行;
location ~ \.php$ { ##匹配用户的地址栏 ( 域名后面开始匹配 ) ,支持正则表达式匹配;
root html; ##文件存放的目录,可以更改;
fastcgi_pass 127.0.0.1:9000; ##交给9000这个端口号处理;
include fastcgi.conf; ##nginx自带的一个文件,主要用于加载变量;
}
大意为:当客户访问的是以 .php$ 结尾的脚本文件时,系统会自动将请求交给PHP这个软件来处理,PHP软件会调取配置文件中以 .php结尾的脚本文件,然后再将内容反馈给客户;
举个栗子:
http {
listen 80;
server_name www.baidu.com;
location / ( 静态网页,找页面,直接把网页给到客户 )
location ~ \.php$ ( 动态网页,找到页面,把页面交给php端口号为9000来处理,然后在给客户 )
}
firefox http://www.baidu.com/luo.html (静态网页,匹配 location /)
firefox http://www/baidu .com/luo.jpg (静态网页,匹配 location /)
firefox http://www/baidu.com/luo.php (动态网页,匹配 location ~ \ .php)
3.修改nginx配置文件中的PHP需要注意些什么?
第一、每条命令的结尾必须要加分号 “ ; ” 且不能空格;
第二、大括号不能删除 { } ;
第三、当配置文件中 location 字段需要使用正则表达式的时候,需要加上 ~ 号(比对的意思);
a == a 字符匹配;
1 -le 1 数字匹配;
a ~ abc 正则模糊匹配,包含和被包含的意思;
4.nginx实现动静网页分离的工作原理是什么?
Nginx ------> php,fpm --------> Mariadb
当客户端访问服务器时,系统会识别客户要访问的是动态网页还是静态网页;
如果客户访问的是静态网页,那么Linux会把任务交给Nginx来处理完成;
如果客户访问的是动态网页,那么Linux会把任务先交给Nginx,Nginx看到文件是运用php编程语言写的,这是Nginx就把把任务传给PHP这个软件来处理,当php发现文件中还有数据要处理的时候,php就会把处理数据的部分工作交给Mariadb;
5.如何验证文件配置的结果是否正确?
第一步、nginx -s reload 刷新配置文件;
第二步、用浏览器进行访问验证,查看网页结果;
6.最后一起来概括总结下:
运用LNPM搭建动静分离网页的流程是:
第一步、安装Nginx、mariadb、php这三个软件;
yum -y insatall mariadb mariadb-server mariadb-devel
yum -y insatall php php-mysql ##用于解释代码和链接数据库
yum -y install php-fpm ##用于自动启动服务;
安装完之后启动服务;
第二步、搭建好LNPM平台后,(让Nginx连接到PHP,PHP连接数据库),然后修改Nginx的配置文件,实现动态分离;
server {
listen 80; ##监听的服务端口号;
server_name www.baidu.com; ##域名可以自由更改;
location / { ##配置网页地址,从域名后开始匹配;
root html } ##存放网页的目录;
location ~ \ .php$ { ##匹配网页地址,正则表达式,匹配以php结尾的脚本文件;
root html; ##存放网页的目录;
fastcgi_pass 127.0.0.1:9000; ##将任务转发给端口号为9000的服务;
include fastcgi.conf; ##Nginx自带的一个变量集合文件,主要用于加载变量;
}
第三步、把开发人员写好的php脚本文件,cp拷贝到网页目录里;
cp xxx.php /usr /location /nginx /html
nginx -s reload ##刷新加载nginx的配置文件;
firefox www.baidu.com/xxx.php 访问网页,验证结果;
知识拓展:
多进程的程序
程序(存放在硬盘)
进程(占用运行内存)
线程
程序—进程(20M)主进程关闭,子线程全部关闭;
线程(共享20M)
线程(共享20M)
线程(共享20M)
进程(20M)
线程(共享20M)
线程(共享20M)
线程(共享20M)
以上......
(END)
祝:顺利!
罗贵
219-04-03于深圳
网友评论