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

2019-04-03  本文已影响0人  RealLuo


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

上一篇下一篇

猜你喜欢

热点阅读