Linux-B-進(jìn)階-第6章-WEB服務(wù)Apache篇


目錄(持續(xù)更新)


基礎(chǔ)-第0章-安裝
基礎(chǔ)-第1章-基本操作
基礎(chǔ)-第2章-磁盤及文件系統(tǒng)管理
基礎(chǔ)-第3章-獲得幫助
基礎(chǔ)-第4章-用戶及權(quán)限基礎(chǔ)
基礎(chǔ)-第5章-網(wǎng)絡(luò)基本配置
基礎(chǔ)-第6章-管道,重定向及文本處理
基礎(chǔ)-第7章-系統(tǒng)啟動(dòng)詳解

進(jìn)階-第1章-日志服務(wù)
進(jìn)階-第2章-DNS域名服務(wù)器
進(jìn)階-第3章-FTP文件共享服務(wù)
進(jìn)階-第4章-NFS文件共享服務(wù)
進(jìn)階-第5章-SMB文件共享服務(wù)
進(jìn)階-第6章-WEB服務(wù)Apache篇
進(jìn)階-第7章-電子郵件服務(wù)
進(jìn)階-第8章-Linux服務(wù)基礎(chǔ)及管理

高級(jí)-第1章-LVM邏輯卷
高級(jí)-第2章-高級(jí)權(quán)限ACL
高級(jí)-第3章-RAID提升速度及冗余
高級(jí)-第4章-高級(jí)網(wǎng)絡(luò)-網(wǎng)卡綁定,子端口
高級(jí)-第5章-SELinux安全系統(tǒng)基礎(chǔ)
高級(jí)-第6章-IPTable防火墻基礎(chǔ)
高級(jí)-第7章-Linux遠(yuǎn)程管理-SSH、VNC


第6章-WEB服務(wù)Apache篇


第一節(jié) WEB服務(wù)原理 HTTP協(xié)議
  • web服務(wù)概述

      日常使用最多的服務(wù)都是web
      各種瀏覽器都是WEB客戶端
      而web服務(wù)端是我們方位網(wǎng)站W(wǎng)EB服務(wù)
      常見的WEB服務(wù)有IIS APACHE NGINX LIGHTTPD等 各有優(yōu)缺點(diǎn)
    
  • HTTP協(xié)議

      web服務(wù)端和客戶端之間通過HTTP協(xié)議傳輸數(shù)據(jù)
    
      當(dāng)前使用做多的HTTP版本是HTTP/1.1
    
      http://www.bilibili.com     ------->    www.bilibili.com
                      <------     web服務(wù)器
      web瀏覽器  port:>1024  HTTP        nginx   port:80
    
      HTTP使用tcp協(xié)議,默認(rèn)端口號(hào)為80
    
  • HTTP方法

      定義了很多方法讓客戶端和服務(wù)器交互
    
      -GET    從服務(wù)器上獲取一個(gè)資源(網(wǎng)頁 視頻音頻)
      -POST   想服務(wù)器提交數(shù)據(jù)(可能會(huì)創(chuàng)建一個(gè)新的資源)
      -PUT    想服務(wù)器提交數(shù)據(jù)
      -DELETE 刪除指定資源
      -HEAD   只請(qǐng)求網(wǎng)絡(luò)頭部
    
  • HTTP狀態(tài)碼

      HTTP通過狀態(tài)碼來標(biāo)識(shí)返回信息
    
      -200    正常,請(qǐng)求成功
      -301    永久移動(dòng),一般用于域名重定向
      -304    未修改,一般用于緩存
      -401    禁止訪問,未授權(quán)
      -403    禁止訪問,通常代表已經(jīng)認(rèn)證通過,但沒有訪問權(quán)限
      -404    未找到資源
      -500    服務(wù)器內(nèi)部錯(cuò)誤
    
  • HTML語言

      HTML是對(duì)大多數(shù)網(wǎng)頁使用的語言,幾乎所有的網(wǎng)頁都是以HTML作為源代碼
      通過瀏覽器解釋呈現(xiàn)
    
      HTML擁有固定語法,用來儲(chǔ)存網(wǎng)頁數(shù)據(jù),定義不同元素
      現(xiàn)代網(wǎng)頁通過CSS語言來儲(chǔ)存網(wǎng)頁的表現(xiàn)樣式
    
      現(xiàn)代最流網(wǎng)頁實(shí)際架構(gòu)
      
          內(nèi)容儲(chǔ)存:   HTML
          網(wǎng)頁架構(gòu):   div
          網(wǎng)頁樣式:   CSS 
    
      我們可以通過網(wǎng)頁上查看源代碼
    
      HTML形式的頁面我們稱之為靜態(tài)頁面
    
  • 動(dòng)態(tài)頁面

      HTML格式的網(wǎng)頁文件只能提供靜態(tài)內(nèi)容
      但是我們往往需要針對(duì)不同用戶提供不同的網(wǎng)頁內(nèi)容
    
      動(dòng)態(tài)語言編寫程序
      在用戶訪問的時(shí)候給予不同的條件生成不同的HTML代碼給用戶
    
      現(xiàn)代幾乎左右的網(wǎng)站均使用動(dòng)態(tài)語言技術(shù)
    
      常見有 ASP asp.net jsp php
    
      新型的python和ruby on rails
    
  • web服務(wù)架構(gòu)

      由于有靜態(tài)和動(dòng)態(tài)頁面之分,現(xiàn)代web服務(wù)架構(gòu)分為web服務(wù)器和應(yīng)用服務(wù)器
    
      嚴(yán)格意義上web服務(wù)器只通過HTTP協(xié)議向外提供HTML,CSS等網(wǎng)頁資源
    
      而動(dòng)態(tài)語言需要專門的服務(wù)器進(jìn)行計(jì)算,因?yàn)閯?dòng)態(tài)與阿燕是需要進(jìn)行計(jì)算處理后產(chǎn)生HTML代碼的
    
      http://www.bilibili.com      -------->  www.bilibili.com    
                      <---------  web服務(wù)器  應(yīng)用服務(wù)器
      web瀏覽器          HTTP        nginx       PASSENGER
    
  • 加入數(shù)據(jù)庫

      對(duì)于靜態(tài)網(wǎng)頁,數(shù)據(jù)直接與HTML保存一起,而對(duì)于對(duì)哦奶太語言來說
      數(shù)據(jù)統(tǒng)一保存在數(shù)據(jù)庫,需要的時(shí)候按照程序動(dòng)態(tài)生成,所以以訛完整的web架構(gòu)如下
    
      
      web瀏覽器  ------> web服務(wù)器 --> 應(yīng)用服務(wù)器 --> 數(shù)據(jù)庫
            <------  nginx    passenger   mysql       
    

第二節(jié) APACHE服務(wù)器基本配置
生產(chǎn)環(huán)境匯總使用的web服務(wù) 老牌IIS APACHE 新的nginx lighttpd

apache是最為老牌的服務(wù)器

幾乎所有l(wèi)inux的發(fā)行版本都支持APACHE

    動(dòng)態(tài),預(yù)創(chuàng)建進(jìn)程
    動(dòng)態(tài)模塊加載
    虛擬主機(jī)
    SSL主機(jī)

CentOS6默認(rèn)自帶APACHE2.2
  • 安裝APACHE

      通過
      yum install -y httpd
    
      安裝后啟動(dòng)
      service httpd start
    
      默認(rèn)用80HTTP和443HTTPS
      
      apache的配置文件在
      /etc/httpd/conf/httpd.conf
    
      模塊配置文件
      /ect/httpd/conf.d
    
      默認(rèn)網(wǎng)站日志為
      /var/log/httpd  
    
  • 網(wǎng)頁服務(wù)器

      默認(rèn)APACHE不需配置就可啟動(dòng)
      默認(rèn)保存網(wǎng)站目錄/var/www/htmls
    
      我們可以直接訪問apache服務(wù)器的地址
      可看到apache服務(wù)器測試頁面
      
      我們可以將對(duì)外發(fā)布的網(wǎng)頁存到/var/www/htmls
    
      之后只用瀏覽器訪問
    
  • apache配置

      主配置文件/etc/httpd/conf/httpd.conf中
    
      keepalive off       啟停TCP保活功能 保持TCP連接不立即拆除
      keepalivetimeout 15 TCP保活時(shí)間15s
      MAXkeepaliverequests 10 對(duì)一個(gè)連接的請(qǐng)求上限為10
      listen 80       監(jiān)聽端口 也可限定為: IP:端口號(hào)
      loadmodule 名字 路徑    模塊加載
      user apache     默認(rèn)以apache用戶運(yùn)行
      group apache        默認(rèn)以apache組運(yùn)行
      serveradmin 管理員郵箱   網(wǎng)站管理員郵箱
      documentroot"路徑"    默認(rèn)網(wǎng)站網(wǎng)頁路徑
      <Directory"路徑"> 路徑塊開始
      </Directory>        路徑塊結(jié)束
      DirectoryIndex      默認(rèn)首頁名稱 優(yōu)先級(jí)從左到右
      servername      域名
    
  • 語法檢查

      service httpd configtest
      apachectl configtest    
      http -t
    
  • 日志 網(wǎng)站統(tǒng)計(jì)

      /var/log/httpd/
      access.log      error.log
    

第三節(jié) apache服務(wù)認(rèn)證
  • 簡單用戶認(rèn)證

      我們可以配置apache為特定文件夾進(jìn)行簡單的HTTP用戶認(rèn)證
    

    我們通過以下步驟實(shí)現(xiàn)

      創(chuàng)建apache密碼文件
          htpasswd -cm /etc/httpd/.htpasswd linuxcast
          htpasswd -m /etc/httpd/.htpasswd nash_su
    
      修改apache主配置文件,為特定目錄配置認(rèn)證
          <Directory /var/www/html>
              AuthName"LinuxCast Auth"
              AuthType basic
              AuthUserFile /etc/httpd/.htpasswd
              Require valid-user
          </Directory>
    

    打開瀏覽器


第四節(jié) apache虛擬主機(jī)
默認(rèn)apache的配置只提供了一個(gè)網(wǎng)站服務(wù)
但是我們可以配置一臺(tái)apahce服務(wù)器為對(duì)各網(wǎng)站提供服務(wù)器,就是虛擬主機(jī)

虛擬主機(jī)分為兩種:

    -基于IP的虛擬主機(jī)
    apache服務(wù)通過不同的訪問IP區(qū)分不同的虛擬主機(jī)

    -基于域名的虛擬主機(jī)
    apahce服務(wù)器通過不同的訪問域名區(qū)分不同的虛擬主機(jī)

一般使用基于域名的虛擬主機(jī),但是如果需要搭建ssl的虛擬主機(jī),則必須基于IP

因?yàn)橐话愕木W(wǎng)站往往不需要一個(gè)獨(dú)立服務(wù)器的硬件資源
使用虛擬主機(jī)技術(shù)在以惡搞服務(wù)器上運(yùn)行多個(gè)網(wǎng)站可以大大節(jié)省成本
  • 基于域名的虛擬主機(jī)

      確保DNS服務(wù)器將不同域名解析到同一個(gè)IP上
    
          www1.linuxcast.net  
          www2.linuxcast.net  192.168.1.10
    
      在apache配置文件中添加配置:
    
          NameVirtualHost *.80
    
          <VirtualHost *.80>
              ServerName www1.linuxcast,net
              ServerAdmin root1@linuxcast.net
              DocumentRoot /var/www/linuxcast-1
          </VirtualHost>
          
          <VirtualHost *.80>
              ServerName www2.linuxcast,net
              ServerAdmin root2@linuxcast.net
              DocumentRoot /var/www/linuxcast-2
          </VirtualHost>      
      
      確保apahce用戶對(duì)網(wǎng)頁根目錄具有訪問權(quán)限
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容