美文网首页
如何部署LNMP动静分离的网站?

如何部署LNMP动静分离的网站?

作者: RealLuo | 来源:发表于2019-04-03 21:12 被阅读0次


    如何部署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于深圳

    相关文章

      网友评论

          本文标题:如何部署LNMP动静分离的网站?

          本文链接:https://www.haomeiwen.com/subject/cplnbqtx.html