Bootstrap

LNMP网站架构搭建

目录

一、LNMP架构

    L ---linux系统

    N ---nginx服务器

    M ---mysql服务部署

    P ---php服务

二、LNMP部署安装

    1、nginx服务  ---ansible一键化安装   修改yum源

    2、mysql服务部署:

        (1)安装软件

        (2)数据库初始化(yum安装已经初始化)

        (3)启动服务

        (4)给mysql数据库设置密码

    3、php部署流程:

        (1)更新yum源/卸载系统自带的PHP软件

        (2)安装php软件

        (3)编写配置文件  

        (4)启动php

三、LNMP架构原理

四、LNMP之间建立关系

    1、nginx与php建立管理

        (1)编写nginx配置文件

        (2)编写动态php文件

        (3)访问测试

    2、php+mysql建立关系

        (1)建立测试代码文件

        (2) 重启服务进行测试

五、部署搭建网站页面(代码上线)

    1、获取代码信息(git) ---使用开源网站代码

    2、放入站点目录解压

    3、修改站点目录权限

    4、进行网站页面初始化操作

    5、数据库服务进行配置

        (1)创建数据库

        (2)检查

        (3)创建wordpress数据库的管理用户

        (4)登录操作,wordpress自动创建表

六、LNMP架构和存储服务器建立联系

        第一步、找到文件存储目录

    1、根据图片链接获取图片存储位置

    2、先定位数据存放在站点目录中,用find /html/blog -type f -mmin -5 先上传,看5分钟内啥东西增加了就知道哪儿个目录了(或inotifywait -mrq /html/blog)

    第二步、使web服务器与存储服务器建立联系

    1、检查存储服务器是否正常

    2、存储服务器修改exports文件

    3、进行挂载

第三步、如何建立LNMP和数据库服务器的关系

  1、将数据库数据备份

    2、将备份数据进行迁移

    3、恢复数据

    4、修改数据库服务器中数据用户信息

   5、修改web服务器代码文件信息


 

一、LNMP架构


    L ---linux系统


        a  selinux必须关闭  防火墙关闭
        b  /tmp 1777 否则mysql服务无法启动


    N ---nginx服务器


        作用:处理用户的静态请求 html txt mp4/avi


    M ---mysql服务部署


      yum很慢 编译安装报错   ---mariadb服务器(轻量级mysql)
        作用:存储数据  


    P ---php服务


        作用:处理动态页面请求
              负责和数据库建立关系

二、LNMP部署安装


    1、nginx服务  ---ansible一键化安装   修改yum源


    2、mysql服务部署:


        (1)安装软件


            yum install -y mariadb-server mariadb


        (2)数据库初始化(yum安装已经初始化)


            --basedir=path    指定mysql程序目录
            --datadir=path    指定数据信息保存目录
            --user=user_name  指定用户管理目录 700   

    信息输出内容:
    创建数据库密码信息:
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MYSQL root USER
    To do so start the server ,then issue the following commands
    /application/mysql/bin/mysqladmin -u root  passwd 'new-passwd'
          ---给本地数据库设置密码
    /application/mysql/bin/mysqladmin -u root -h web01 passwd 'new-passwd'
          ---给远程数据库设置密码

        (3)启动服务


            systemctl start mariadb.service 
            systemctl enable mariadb

        (4)给mysql数据库设置密码


            mysqladmin -u root password 'CHENGqi139' ---设置密码
            登录:mysql -uroot -p

    3、php部署流程:


        (1)更新yum源/卸载系统自带的PHP软件


            yum remove php-mysql php php-fpm php-common
            rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
            rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm


        (2)安装php软件


            yum install -y php71w php71w-cli php71w-commmon php71w-devel php71w-embedded php7lw-gd php7lw-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb


        (3)编写配置文件  


            vim /etc/php-fpm.d/www.conf
            user = www
            group = www
            systemctl reload php-fpm.service

            保证nginx和php的管理用户保持一致


        (4)启动php


            systemctl start php-fpm
            systemctl enable php-fpm

三、LNMP架构原理


    nginx (fastcgi_pass) ---FastCGI--->(php-fpm -- wrapper)PHP(php解析器) ---> mysql(读取或写入)

 

四、LNMP之间建立关系


    1、nginx与php建立管理

 

        (1)编写nginx配置文件


            vim blog.conf
            location ~ \.php$ {
                root /html/blog;                
                    ---匹配目录
                fastcgi_index index.php;        
                    ---默认匹配文件
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    ---nginx将uri的信息发给php,php解析后,不知道URL信息,所以无法显示。所以需要将url和uri都发送给php
                fastcgi_pass 127.0.0.1:9000;     
                    ---fastcgi端口为本地9000端口
                include fastcgi_params;
                    ---变量配置文件($document_root、$fastcgi_script_name)
            }


            重启服务


        (2)编写动态php文件


            vim test_php.php
            <?php
                phpinfo();
            ?>


        (3)访问测试


            blog.test.com/test_php.php

    2、php+mysql建立关系


        (1)建立测试代码文件


            vim test_mysql.php

            <?php
            $servername = "localhost";
       

;