LNMP原理与简单部署过程
今天继续给大家介绍Linux运维的相关知识,本文主要内容是LNMP原理与简单部署。
一、LNMP架构原理
LNMP架构,是指在Linux平台下,由运行Nginx的web服务器,运行PHP的动态页面解析程序和运行MySQL的数据库组成的网站架构,也是当前常用的系统架构之一。在LNMP架构中,Nginx本身只负责静态页面的处理,当需要处理动态页面时,则需要Nginx将相关.php页面转交给php-fpm来进行处理,php-fpm会将PHP页面解析成html文件,然后交给Nginx进行处理。与LAMP架构相比,LNMP的主要区别在于对PHP的处理上,LAMP对于PHP动态资源的处理是通过Apache的libphp5.so模块进行的,该模块内嵌如Apache中,而Nginx对PHP动态资源的处理则是通过php-fpm进行的,php-fpm是一个独立的模块,因此,在搭建LNMP架构时,Nginx和php-fpm都需要进行开启。LNMP架构如下所示:
二、LNMP部署实战
接下来,我们就进行LNMP的部署实战。
(一)YUM源配置
在进行实战YUM部署LNMP前,我们要首先配置LNMP的YUM源。想要YUM安装Nginx,就必须安装EPEL的扩展源,可以执行以下命令进行EPEL扩展源的安装:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
(二)Nginx安装与部署
Nginx的安装非常简单,只需要执行命令:
yum install -y nginx
即可,Nginx安装完毕后,Nginx的启动命令为:
systemctl start nginx
启动后,尝试访问Nginx页面,结果如下:
以这种方式安装的Nginx,其默认配置文件为/etc/nginx/nginx.conf,默认根目录为/usr/share/nginx/html。
(三)PHP安装与部署
接下来,我们需要安装PHP,并使得PHP支持Nginx。首先,安装PHP和PHP与Nginx的对接php-fpm,执行命令:
yum install -y php php-fpm
在安装完成后,我们还需要修改Nginx的配置文件,在http模块的server模块下,添加如下内容:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
添加后的页面如下所示:
在以上配置中,location模块是Nginx的一个定位模块,location后面的“~”表示进行正则表达式的匹配,匹配的对象是以.php结尾的动态资源。这样,当这样的资源被匹配到之后,就会进行location模块中指定的处理。fastcgi_pass指定了php-fpm模块的IP地址和端口号,fastcgi_param参数指定了读取php文件的位置。上述安装完成后,在网站根目录中写一个PHP的测试页面,重启PHP后尝试访问,结果如下:
(四)MySQL安装与部署
最后,我们来安装MySQL,MySQL的安装比较简单,只需要执行命令:
yum install -y mariadb mariadb-server
安装完成后,发现当前系统打开了3306、9000和80端口,如下所示:
为了使得我们的PHP支持MySQL,还需要安装php-mysql,如下所示,这样,安装完成后,我们的PHP就可以与MySQL对接了。尝试安装wordpress,结果如下所示:
到此这篇关于LNMP原理与简单部署的文章就介绍到这了,更多相关LNMP原理部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
nginx 配置代理服务地址最后多加反斜杠和不加反斜杠的区别小结
在使用Nginx配置代理服务时,地址最后是否添加反斜杠(/)会对代理的URL处理产生影响,下面就来具体介绍一下,感兴趣的可以了解一下2024-08-08Nginx报403 forbidden错误 (13: Permission denied)的解决办法
这篇文章主要介绍了Nginx报403 forbidden错误 (13: Permission denied)的解决办法,引起nginx 403 forbidden通常是三种情况:一是缺少索引文件,二是权限问题,三是SELinux状态。具体内容详情大家可以参考下本文2017-01-01
最新评论