说到LNMP,我们不得不提到LAMP,我们知道,LAMP是一个多C/S架构的平台,在此架构中web客户端基于TCP/IP通过http协议发起传送,这个请求可能是静态的也可能是动态的。所以web服务器通过发起请求的后缀来判断,如果是静态的就由web服务器自行处理,然后将资源发给客户端。如果是动态的web服务器会通过CGI(Common Gateway Interfence)协议发起给php。如果php以模块形式与web服务器联系,那么它们是通过内部共享内存的方式,如果php单独的一台服务器,那么它们是以sockets套接字的方式进行通信(这又是一个C/S架构),这时php会相应的执行一段程序,如果在程序执行时需要一些数据,那么php就会通过 mysql协议发送给mysql服务器(这也可以看作是一个C/S架构),由mysql服务器处理,将数据供给php程序。
LNMP
是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。LNMP架构和LAMP架构挺像的,只不过一个用的Apache一个用的Nginx。LNMP就是Linux+Nginx+MySQL/mairadb+PHP,Nginx和Apache一样都是web服务器。还有一点不同的是在LNMP结构里php会启动一个php-fpm服务,而大多数时候LANP中的php只是作为Apache的一个模块存在(在CentOS8中LAMP架构也启动php-fpm服务)。
Nginx会把用户的动态页面请求交给php服务去处理,这个php服务就会去和数据库进行交互。用户的静态页面请求Nginx会直接处理,Nginx处理静态请求的速度要比apache快很多性能上要好,所以apache和Nginx在动态请求处理上区别不大,但如果是静态请求处理的话就会明显发现Nginx要快于apache,而且Nginx能承受的并发量要比apache大,可以承受好几万的并发量,所以大一些的网站都会使用Nginx作为web服务器。
动态页面和静态页面静态网页:
(1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。虽然静态网页的页面一旦做成,内容就不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等
(2)静态网页的打开,用户可以直接双击,并且不管任何人任何时间打开的页面的内容都是不变的。
动态网页:
(1)动态网页是指跟静态网页相对的一种网页编程技术。动态网页的网页文件中除了HTML标记以外,还包括一些特定功能的程序代码,这些代码可以使得浏览器和服务器可以交互,所以服务器端根据客户的不同请求动态的生成网页内容。即:动态网页相对于静态网页来说,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
(2)动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术(如PHP、ASP、JSP等)生成的网页都可以称为动态网页。
动态网页和静态网页的区别:
(1)更新和维护:
静态网页内容一经发布到网站服务器上,无论是否有用户访问,这些网页内容都是保存在网站服务器上的。如果要修改网页的内容,就必须修改其源代码,然后重新上传到服务器上。静态网页没有数据库的支持,当网站信息量很大的时候网页的制作和维护都很困难
动态网页可以根据不同的用户请求,时间或者环境的需求动态的生成不同的网页内容,并且动态网页一般以数据库技术为基础,可以大大降低网站维护的工作量
(2)交互性:
静态网页由于很多内容都是固定的,在功能方面有很大的限制,所以交互性较差
动态网页则可以实现更多的功能,如用户的登录、注册、查询等
(3)响应速度:
静态网页内容相对固定,容易被搜索引擎检索,且不需要连接数据库,因此响应速度较快
动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页,其中涉及到数据的连接访问和查询等一系列过程,所以响应速度相对较慢
(4)访问特点:
静态网页的每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”,可以直接双击打开
动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索之中不去抓取网址中“?”后面的内容,不能直接双击打开
综上所述
如果网页内容相对的简单,不需要频繁的进行改动,或者只是为了展示信息等,就用静态网页,简单易操作,不需要管理数据库等
如果网页内容相对复杂,功能多,改动频繁,实时性的内容多,就用动态网页
LNMP架构工作流程用户发送http请求到达http服务器httpd解析URL获取需要的资源的路径,通过内核空间来读取硬盘资源,如果是静态资源,则构建响应报文发回给用户。如果是动态资源,将资源地址发送给php解析器,解析php程序文件,解析完毕将内容发回给httpd,httpd构建响应报文,发回给用户。如果涉及到数据库操作,则利用php-mysql驱动,获取数据库数据,返回给PHP解析器。案例利用LNMP+wordpress搭建博客网站
WordPress
一款使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统来使用。WordPress以上手简单、功能强大、扩展性与灵活性著称,加上开源免费,主题插件极其丰富,无论作为新手学习搭建个人博客,还是专业用户用于架设复杂的企业电商网站、论坛等,WP 都能完美满足需求。你几乎能用 WP 打造成任何类型的网站,只有想不到,没有做不到。而且全球数以亿计各类知名网站都是基于 WP 构建,根据官方统计,目前全球有 32% 的网站都由 WP 搭建,由于它实在太过流行,因此无论插件、主题、教程、文档等资源都极其丰富,你选都选不完。而且网上关于性能优化、问题解决等讨论也非常的全面。基本上学习建网站这事,您只需玩转 WP 就够了!所以,如果要建站或想尝试学习建站,那 WP 绝对值得你优先考虑。
wordpress官网:https://cn.wordpress.org打开可能会有问题 (429错误),可以去https://ww.wp.xz.cn下载软件包
环境介绍
一台安装CentOS8的主机
关闭SElinux和防火墙
配置好yum源
挂载光盘
可以联网
wordpress软件包下载地址:https://ww.wp.xz.cn/latest.zip
流程
step1 部署LNMP架构
[root@client ~]# dnf -y install nginx php* mariadb-server mariadb -ystep2 设置php-fpm
[root@client ~]# vim /etc/php-fpm.d/xintu.conf user = nginxgroup = nginx#php-fpm服务默认以apache用户启动,将启动用户身份修改nginxstep3 启动服务
[root@client ~]# systemctl restart nginx.service php-fpm.service mariadb.servicestep4 生成php测试页面
[root@client ~]# echo "<?php phpinfo();?>" >> /usr/share/nginx/html/index.php#系统自带的nginx的页面文件存放在/usr/share/nginx/html/目录中step5 打开浏览器测试
step6
为数据库设置密码并创建相应的数据库
[root@client ~]# mysqladmin -u root password 123456[root@client ~]# mysql -u root -pEnter password: MariaDB [(none)]> create database wordpress charset=utf8;Query OK, 1 row affected (0.001 sec)MariaDB [(none)]> quitByestep7 准备wordpress
[root@client ~]# cd /usr/share/nginx/html/[root@client html]# rm -fr *#####删除nginx自带的页面文件,以及刚才测试生成的php页面[root@client ~]# unzip latest-zh_CN.zip [root@client ~]# cd wordpress/[root@client wordpress]# mv * /usr/share/nginx/html/####将wordpress文件移动到nginx页面文件存放的目录[root@client wordpress]# cd /usr/share/nginx/html/[root@client html]# chown -R nginx.nginx *###文件的默认所有者是root,为了避免权限的问题,将所有者改为nginxstep8 安装wordpress
复制提示页面内容,按照要求手工创建wp-config.php文件并将内容粘贴[root@client html]# vim /usr/share/nginx/html/wp-config.php切换到安装页面点击现在安装
step9 登录与用户注册设置
开启用户注册功能
发送测试邮件
注意:公网的邮箱需要在设置里开启SMTP/POP等功能,再按照提示操作就可以了
收到测试邮件之后,注销管理员账号,返回登录界面,选择注册
将邮件中的链接复制到浏览器中粘贴
如果想在其它主机可以直接访问而不需要修改URL的话
wordpress打开速度慢
有的时候wordpress访问的时候会非常慢,尤其是登录进入后台时,主要是因为wordpress应用了一些外部的资源,如google的资源;如果你的主机没有联网,那么打开的速度确实非常的慢,但有时,即便是联网也会由于无法访问这些外部资源导致速度慢,此时,可以在wordpress中搜索安装一个叫“WP Acceleration for China"的加速插件并启用,将这些无法访问的外部资源换成国内的相应资源。就可以解决访问慢的问题
总结什么是lnmp
lnmp与lamp的区别
动态网页与静态网页
LNMP的工作流程
如何部署设置LNMP平台
如何在LNMP平台上搭建wordpress
重点:LNMP架构由哪些成员构成,动态网页与静态网页,LNMP的工作流程,CentOS8上lnmp平台的搭建,wordpress的安装和设置,实现用户注册
难点:记住LNMP的组成,理解动态网页和静态网页的区别,记住LNMP的工作流程,记住在lnmp平台上需要安装哪些软件包,启动哪些服务,修改了哪些配置文件,wordpress平台安装设置及实现用户注册