day -47 網(wǎng)站服務(wù)架構(gòu)部署(LNMP)

00.課程介紹部分
    1.LNMP架構(gòu)如何進(jìn)行數(shù)據(jù)庫遷移
    2.LNMP架構(gòu)如何實(shí)現(xiàn)數(shù)據(jù)共享存儲
    3.LNMP架構(gòu)域名更換方法
    4.負(fù)載均衡服務(wù)概念介紹
        a 集群概念
        b 負(fù)載概念
        c 反向代理/正向代理
        d 負(fù)載均衡部署過程
    5.負(fù)載均衡部署過程
    6.實(shí)現(xiàn)負(fù)載均衡模塊的詳述
        upstream 模塊: 負(fù)載均衡
        proxy    模塊: 反向代理
01.課程知識回顧
    1.LNMP架構(gòu)說明
        LNMP:linux nginx mysql php
        作用:可以使用架構(gòu)處理動態(tài)訪問請求
    2.LNMP架構(gòu)部署過程
        linux: selinux關(guān)閉 iptables關(guān)閉  /tmp目錄權(quán)限1777
        nginx: yum官方源安裝
        mysql: yum install mariadb-server mariadb -y
               啟動數(shù)據(jù)庫且永久重啟
        php:作用:解析動態(tài)請求
            更新yum源后  安裝
            修改php服務(wù)進(jìn)程與nginx中worker進(jìn)程的用戶一致
            vim /etc/php-fpm.d/www.conf
            user=
            group=
    3.LNMP架構(gòu)配置過程
        1.建立nginx-php通訊過程
            編輯nginx配置文件
        2.建立php-mariadb連續(xù)
            編輯代碼信息
    4.部署搭建動態(tài)網(wǎng)站頁面
        1.下載獲取動態(tài)網(wǎng)站代碼信息
        2.代碼上傳(壓縮包解壓)/修改代碼文件權(quán)限(站點(diǎn)目錄更改屬主/屬組)
        3.創(chuàng)建數(shù)據(jù)庫信息  create database xxxxxx;
        4.創(chuàng)建管理數(shù)據(jù)庫的用戶信息
            grant all on xxxxx.* to 'xxxx'@'location' identified by '密碼信息';
            檢查用戶信息
            select user,host from mysql.user;
02.實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)遷移操作
    第一步:web服務(wù)器上數(shù)據(jù)進(jìn)行備份操作
        mysqldump -uroot -p123456 -A > /tmp/mysql_bak.sql

    第二步:將數(shù)據(jù)進(jìn)行傳輸?shù)綌?shù)據(jù)庫服務(wù)器上
        rsync -avz /tmp/mysql_bak.sql 172.16.1.51:/tmp

    第三步:將備份的數(shù)據(jù)進(jìn)行還原
        mysql -uroot -p123456 </tmp/mysql_bak.sql

    第四步:修改web服務(wù)器連接數(shù)據(jù)庫地址信息
        grant all on wordpress.* to 'wordpress'@'172.16.1.%' identified by '123456'
        vim /html/blog/wordpress/wp-config.php
        define('DB_HOST','172.16.1.51');

        PS: 問題: 數(shù)據(jù)做了全量備份,也進(jìn)行了恢復(fù),為什么恢復(fù)后root用戶不用輸入密碼
                    系統(tǒng)文件也會保留數(shù)據(jù)root登錄密碼信息    
03.實(shí)現(xiàn)網(wǎng)站數(shù)據(jù)共享存儲
    第一步:找到web服務(wù)代碼信息中存儲數(shù)據(jù)的目錄
    wordpress   /html/blog/wp-content/uploads

    第二步:將web服務(wù)器上保存的用戶數(shù)據(jù)移動到/tmp
    mkdir /tmp/wordpress_bak
    mv /html/blog/wordpress/wp-content/uploads/* /tmp/wordpress_bak

    第三步:進(jìn)行掛載操作
    mount -t nfs 172.16.1.31:/data/blog  /html/blog/wp-content/uploads/

    第四步:將備份的用戶數(shù)據(jù)進(jìn)行還原
    mv /tmp/wordpress_bak  /html/blog/wordpress/wp-content/uploads/ 


     數(shù)據(jù)庫服務(wù)dns反向解析問題處理: 修改my.cnf
    [mysqld]
    skip-name-resolve
04.動態(tài)網(wǎng)站頁面修改域名信息
    第一步:修改nginx配置文件信息
    server_name  blog.oldboy.com blog.oldgirl.com

    第二步:修改代碼或數(shù)據(jù)庫信息

    第三步:編寫DNS域名解析

    第四步:重啟nginx服務(wù)
05.負(fù)載均衡服務(wù)概念
    負(fù)載作用:
        1.對用戶訪問請求進(jìn)行調(diào)度處理
        2.減少web服務(wù)器訪問壓力
    負(fù)載實(shí)現(xiàn):
        硬件方式實(shí)現(xiàn):F5 A10 (廠商培訓(xùn))
        軟件方式實(shí)現(xiàn):
        nginx  : 利用網(wǎng)絡(luò)4層或7層功能實(shí)現(xiàn)負(fù)載均衡
        Lvs    : 利用網(wǎng)絡(luò)4層功能負(fù)載均衡
        haproxy: 利用網(wǎng)絡(luò)4層或7層功能實(shí)現(xiàn)負(fù)載均衡(功能配置更強(qiáng)大/網(wǎng)站頁面圖形界面)

    集群:多臺服務(wù)器完成相同的工作(提高網(wǎng)站架構(gòu)并發(fā)處理能力/架構(gòu)伸縮性更高/架構(gòu)冗余能力強(qiáng)/架構(gòu)成本降低)
        1.部署軟件程序相同
        2.部署軟件配置相同
        3.部署網(wǎng)站代碼相同
    反向代理:  可以讓外網(wǎng)用戶 -- 訪問 -- 內(nèi)網(wǎng)主機(jī)服務(wù)器
    外網(wǎng)用戶訪問 -- nginx(反向代理) -- 發(fā)送給內(nèi)網(wǎng)web服務(wù)器

    正向代理:  可以讓內(nèi)網(wǎng)主機(jī) -- 訪問 -- 外網(wǎng)主機(jī)服務(wù)器
    內(nèi)網(wǎng)用戶訪問  -- 代理服務(wù)器(正向) --國外網(wǎng)站服務(wù)器
06.負(fù)載均衡部署配置過程:
    第一步:編寫配置web集群服務(wù)器
            www.conf   
                server {
                   listen            80;
                   server_name       www.oldboy.com;
                   root              /html/www;
                   index             index.html;
                   }
                }               
             rsync或scp推送到另外兩個web服務(wù)器中,要保證配置文件相同
    第二步:編寫站點(diǎn)目錄測試文件
            web01:
            echo web01 >/html/www/index.html
            web02:
            echo web02 >/html/www/index.html    
            web03:
            echo web03 >/html/www/index.html    
    第三步:進(jìn)行訪問測試
            curl -H host:www.oldboy.com  10.0.0.7
            web01
            curl -H host:www.oldboy.com  10.0.0.8
            web02
            curl -H host:www.oldboy.com  10.0.0.9
            web03
    第四步:部署負(fù)載均衡服務(wù)
            在lb01服務(wù)器中使用yum源安裝nginx

            # vim /etc/nginx/nginx.conf
                upstream oldboy {
                   server   10.0.0.7:80;
                   server   10.0.0.8:80;
                   server   10.0.0.9:80;
                }   
                server {
                   listen          80;
                   server_name     localhost;
                   location / {
                       proxy_pass   http://oldboy;
                   }
                } 

             proxy_set_header Host $http_host;
             運(yùn)用變量將host傳到upstream的ip后面

             upstream  設(shè)置負(fù)載均衡(需要在http模塊中)
             proxy     設(shè)置反向代理(需要在location模塊中)
07. 課程知識總結(jié)說明
    1) LNMP架構(gòu)數(shù)據(jù)庫遷移過程    (三步:    備份 遷移 恢復(fù))   
    2) LNMP架構(gòu)數(shù)據(jù)實(shí)現(xiàn)共享存儲  (三步: 備份 掛載 恢復(fù) 測試)
    3) LNMP架構(gòu)網(wǎng)站更換域名      (三點(diǎn): nginx服務(wù)域名信息更換 DNS服務(wù)域名解析配置 程序代碼/數(shù)據(jù)庫 )
    4) 負(fù)載均衡概念知識          作用  實(shí)現(xiàn)方式  名詞解釋(集群 反向代理 正向代理)
    5) 負(fù)載均衡部署過程          負(fù)載模塊  upstream   代理模塊  proxy
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容