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

00.課程介紹部分
    1. nginx程序網(wǎng)站頁(yè)面跳轉(zhuǎn)練習(xí)說(shuō)明
    2. LNMP架構(gòu)介紹說(shuō)明
    3. LNMP架構(gòu)部署安裝
    4. LNMP架構(gòu)工作原理
    5. LNMP架構(gòu)配置過(guò)程
    6. 搭建動(dòng)態(tài)資源網(wǎng)站頁(yè)面
    7. 數(shù)據(jù)庫(kù)數(shù)據(jù)遷移方法
    8. 實(shí)現(xiàn)圖片附件數(shù)據(jù)統(tǒng)一存儲(chǔ) 
01.課程知識(shí)回顧
    1.location的配置方法
            1.作用:匹配指定的URI信息,可以根據(jù)訪問(wèn)不同的URI信息,做出不同處理方案
            2.如何匹配URI信息:
                =    精確匹配指定URI信息
                ~    模糊匹配指定URI信息(區(qū)分信息大小寫(xiě))
                ~*   模糊匹配指定URI信息(不區(qū)分大小寫(xiě))
                ^~   進(jìn)行優(yōu)先匹配/不識(shí)別擴(kuò)展正則信息
                /    默認(rèn)匹配
                /xx/ 精準(zhǔn)匹配目錄
            3.return指定代碼跳轉(zhuǎn)  根據(jù)不同狀態(tài)碼做出相應(yīng)處理
                location / {
                  return 301 http://www.oldboy.com/oldboy.jpg
                }
                總結(jié):有多個(gè)location需要有個(gè)默認(rèn)location
                     指定URI信息必須存在
                     當(dāng)URI信息不存在時(shí),可以用return跳轉(zhuǎn)
    2.rewrite跳轉(zhuǎn)的配置方法
            1.原理:用戶瀏覽器 屬于域名地址A -- web服務(wù)器 -- 自動(dòng)處理 --訪問(wèn)域名地址信息B
            2.跳轉(zhuǎn)的四種方式
                last  請(qǐng)求發(fā)送過(guò)去后跳轉(zhuǎn)成功會(huì)重新發(fā)起訪問(wèn)(URI信息不改變)
                break 用戶訪問(wèn)會(huì)直接得到跳轉(zhuǎn)后的信息      (URI信息不變)
                redirect(臨時(shí)跳轉(zhuǎn))     將地址url/uri信息進(jìn)行跳轉(zhuǎn)變化
                permanent(永久跳轉(zhuǎn))    將地址url/uri信息進(jìn)行跳轉(zhuǎn)變化

                臨時(shí)跳轉(zhuǎn):不會(huì)讓瀏覽器記錄跳轉(zhuǎn)信息 (URI信息跳轉(zhuǎn)經(jīng)常用)
                永久跳轉(zhuǎn):讓瀏覽器記錄跳轉(zhuǎn)信息     (URL信息跳轉(zhuǎn)經(jīng)常用)
02. LNMP架構(gòu)說(shuō)明
    LNMT: linux nginx mysql tomcat
    LNMP: linux nginx mysql php/python 
    LAMP: linux apache mysql php
    作用: 可以使用架構(gòu)處理動(dòng)態(tài)訪問(wèn)請(qǐng)求
03. LNMP架構(gòu)部署過(guò)程
    Linux : 
        1) 系統(tǒng)安全服務(wù)需要關(guān)閉 selinux iptables
        2) 確認(rèn)系統(tǒng)/tmp目錄權(quán)限 1777

    nginx :
        1) 安裝yum官方源nginx程序

    mysql/mariadb:
        1) 安裝部署maraidb
        # 下載安裝數(shù)據(jù)庫(kù)程序軟件
        yum install mariadb-server mariadb -y
        # 啟動(dòng)數(shù)據(jù)庫(kù)程序服務(wù)進(jìn)程
        systemctl start mariadb.service 
        systemctl enable mariadb.service

        啟動(dòng)服務(wù)異常: 無(wú)法啟動(dòng)服務(wù)
        原因: 服務(wù)配置文件不正確
        \cp /usr/share/mysql/my-small.cnf  /etc/my.cnf

        數(shù)據(jù)庫(kù)特殊的管理命令: SQL語(yǔ)句(庫(kù) -- 表 -- 列/行(字段-數(shù)據(jù)信息))
        show databases;    --- 查看所有數(shù)據(jù)庫(kù)信息
        use 數(shù)據(jù)庫(kù)名稱;    --- 切換數(shù)據(jù)庫(kù)
        show tables;       --- 查看庫(kù)中所有表信息
        select * from user;--- 查看表中的數(shù)據(jù)信息
    
        數(shù)據(jù)庫(kù)服務(wù)設(shè)置登錄密碼信息
        mysqladmin -uroot password "oldboy123"   --- 設(shè)置密碼或者修改密碼
        mysql -uroot -poldboy123
    
    php: 
        作用:解析動(dòng)態(tài)請(qǐng)求的服務(wù)    
        PHP服務(wù)部署 http://php.net/
        # 解決yum安裝軟件沖突問(wèn)題
        yum remove php-mysql php php-fpm php-common
        # 準(zhǔn)備yum安裝軟件擴(kuò)展源信息
        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
        更新yum源之后,新生成的文件信息:
        webtatic-archive.repo/webtatic.repo/webtatic-testing.repo
        epel.repo.rpmnew/epel-testing.repo
        
        # 利用yum安裝PHP相關(guān)軟件信息
        yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded  php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache  php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

        # 修改php服務(wù)進(jìn)程管理用戶信息(建議修改的用戶和nginx worker進(jìn)程用戶一致)
        vim /etc/php-fpm.d/www.conf
        8 user = www
       10 group = www
        
        # 啟動(dòng)運(yùn)行php-fpm程序
04. LNMP架構(gòu)工作原理
    參見(jiàn)圖示
05. LNMP架構(gòu)配置過(guò)程
    第一個(gè)歷程: 建立nginx--php通訊過(guò)程
        1) 編寫(xiě)nginx配置
        server {
          listen        80;
          server_name   blog.oldboy.com;
          location / {
              root         /html/blog;
              index        index.php index.html;
          }
          location ~ \.php$ {
              root /html/blog;
              fastcgi_pass  127.0.0.1:9000;
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              include fastcgi_params;
          }
        }

    2) 進(jìn)行動(dòng)態(tài)訪問(wèn)測(cè)試
        vim test_phpinfo.php
        <?php
          phpinfo();
        ?>

    第二個(gè)歷程: php + mariadb建立聯(lián)系  編寫(xiě)代碼信息
        vim test_mysql.php
        <?php
         $servername = "localhost";
         $username = "root";
         $password = "oldboy123";
         //$link_id=mysql_connect('主機(jī)名','用戶','密碼');
         //mysql -u用戶 -p密碼 -h 主機(jī)
         $conn = mysqli_connect($servername, $username, $password);
         if ($conn) {
               echo "mysql successful by root !\n";
            }else{
               die("Connection failed: " . mysqli_connect_error());
            }
        ?>
        瀏覽器訪問(wèn): blog.oldboy.com/test_mysql.php
06. 部署搭建動(dòng)態(tài)網(wǎng)站頁(yè)面
    第一個(gè)歷程: 下載獲取動(dòng)態(tài)網(wǎng)站代碼信息
        博客網(wǎng)站開(kāi)源代碼: wordpress   --- blog.oldboy.com 
        代碼下載地址: https://cn.wordpress.org/download/
        論壇網(wǎng)站開(kāi)源代碼: discuz      --- bbs.oldboy.com
        代碼下載地址: https://www.discuz.net/thread-3796882-1-1.html
        官方網(wǎng)站開(kāi)源代碼: dedecms/phpcms   --- www.oldboy.com
        phpcms   http://www.phpcms.cn/html/download/phpcms/#content
        dedecms 
        知乎網(wǎng)站開(kāi)源代碼: wecenter    --- zhihu.oldboy.com  
        
    第二個(gè)歷程: 將代碼信息進(jìn)行上傳/修改代碼文件權(quán)限
        chown -R www.www /html/blog/

    第三個(gè)歷程: 進(jìn)行網(wǎng)站頁(yè)面初始化/和網(wǎng)站數(shù)據(jù)庫(kù)服務(wù)建立連接
        創(chuàng)建數(shù)據(jù)庫(kù)信息:
        create database wordpress;
    
    創(chuàng)建管理數(shù)據(jù)庫(kù)用戶信息:
        grant all on wordpress.* to 'wordpress'@'localhost'  identified by 'oldboy123';
        select user,host from mysql.user;
07. 課程知識(shí)總結(jié):
1. nginx 地址跳轉(zhuǎn)功能  uri/url 
2. LNMP架構(gòu)部署和配置過(guò)程
3. 利用LNMP架構(gòu)搭建動(dòng)態(tài)網(wǎng)站   
作業(yè):
01. 總結(jié)數(shù)據(jù)庫(kù)常用的SQL語(yǔ)句  不用分享
02. php7.1程序服務(wù)如何編譯安裝
03. 下載一個(gè)大小超過(guò)1M主題壓縮包, 進(jìn)行修改主題
  vim /etc/nginx/conf.d/blog.conf
  client_max_body_size 2m;
04. 負(fù)載均衡服務(wù) 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 原文地址:http://blog.csdn.net/a13570320979/article/details/51...
    青檬可樂(lè)閱讀 56,724評(píng)論 3 38
  • 【崔律財(cái)商課·第1.1講學(xué)習(xí)日志】 這是2019年5月6日“崔律精時(shí)力”之“《富爸爸窮爸爸》財(cái)商課” 1.1開(kāi)營(yíng)的...
    榮榮手工閱讀 231評(píng)論 0 0
  • 人生有三件事不能儉?。? 一,學(xué)習(xí) 二,旅行 三,健身 因這第一,我們要時(shí)刻學(xué)習(xí),向書(shū)本學(xué)習(xí),向先達(dá)學(xué)習(xí)...
    越越媽Miss暢閱讀 220評(píng)論 0 0
  • 第三十二天,如果說(shuō)悲痛有沒(méi)有少一點(diǎn),可能真的沒(méi)有。但是學(xué)會(huì)了分散注意力,學(xué)會(huì)了平復(fù)情緒的很多種方式。 前幾年一直處...
    無(wú)敵流氓兔閱讀 281評(píng)論 0 3
  • ﹉﹉﹉ 我也曾一個(gè)方向走到尾 走到窮末 我也曾守住一個(gè)昏微明 待到晚霞都沒(méi) 但路盡了,不是盡頭 芳林碧草遠(yuǎn)連天 曙...
    雨的飄閱讀 478評(píng)論 0 1

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