目錄(持續(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)限