天天看點

httpd1. httpd簡介2. httpd版本3. httpd基礎4.編譯安裝http-2.45. httpd常用配置虛拟主機示例:https配置

httpd是apache的超文本傳輸​​協定(http)伺服器的主程式。被設計為一個獨立運作的背景程序,它會建立一個處理請求的子程序或線程的池。

通常,httpd的不應該被直接調用,而應該在類unix的系統中由的apachectl調用,在windows中作為服務運作。

本文主要介紹的httpd的兩大版本,httpd-2.2和httpd-2.4。

centos6系列的版本預設提供的是的httpd-2.2版本的rpm包

centos7系列的版本預設提供的是的httpd-2.4版本的rpm包

2.1 httpd的特性

httpd的有很多特性,下面就分别來說說的httpd-2.2版本和的httpd-2.4版本各自的特性。

httpd-2.2的特性

事先建立程序

按需維持适當的程序

子產品化設計,核心比較小,各種功能通過子產品添加(包括php),支援運作時配置,支援單獨編譯子產品

支援多種方式的虛拟主機配置,如基于ip的虛拟主機,基于端口的虛拟主機,基于域名的虛拟主機等

支援https協定(通過mod_ssl子產品實作)

支援使用者認證

支援基于ip或域名的acl通路控制機制

支援每目錄的通路控制(使用者通路預設首頁時不需要提供使用者名和密碼,但是使用者通路某特定目錄時 需要提供使用者名和密碼)

支援url重寫

支援mpm(multi path modules,多處理子產品)。用于定義httpd的工作模型(單程序、單程序多線程、多程序、多程序單線程、多程序多線程)

httpd-2.4的新特性:

mpm支援運作dso機制(dynamic share object,子產品的動态裝/解除安裝機制),以子產品形式按需加載

支援event mpm,eventmpm子產品生産環境可用

支援異步讀寫

支援每個子產品及每個目錄分别使用各自的日志級别

每個請求相關的專業配置,使用來配置

增強版的表達式分析器

支援毫秒級的keepalive timeout

基于fqdn的虛拟主機不再需要namevirtualhost指令

支援使用者自定義變量

支援新的指令(allowoverridelist)

降低對記憶體的消耗

2.2 httpd-2.4新增的子產品

的httpd-2.4在之前的版本基礎上新增了幾大子產品,下面就幾個常用的來介紹一下。

3.1 httpd自帶的工具程式

3.2 rpm包安裝的httpd程式環境

mpm:以dso機制提供,配置檔案為/etc/httpd/conf.modules.d/00-mpm.conf

3.3 web相關的指令

3.3.1 curl指令

curl是基于url文法在指令行方式下工作的檔案傳輸工具,它支援ftp,ftps,http,https,gopher,telnet,dict,file及ldap等協定。

curl支援以下功能:

https認證

http的post/put等方法

ftp上傳

kerberos認證

http上傳

代理伺服器

cookies

使用者名/密碼認證

下載下傳檔案斷點續傳

socks5代理伺服器

通過http代理伺服器上傳檔案到ftp伺服器

3.3.2 httpd指令

//這裡的http壓縮包可以用curl指令或者wget指令去apache網站下載下傳

切換使用mpm(編輯/etc/httpd/conf.modules.d/00-mpm.conf檔案):

loadmodule mpm_name_module modules/mod_mpm_name.so

name有三種,分别是:

prefork

event

worker

通路控制法則:

ipaddr的類型

ip:192.168.1.1

network/mask:192.168.1.0/255.255.255.0

network/length:192.168.1.0/24

net:192.168

hostname的類型

fqdn:特定主機的全名

domain:指定域内的所有主機

注意:httpd-2.4版本預設是拒絕所有主機通路的,是以安裝以後必須做顯示授權通路

示例:

虛拟主機:

虛拟主機有三類:

相同ip不同端口

不同ip相同端口

相同ip相同端口不同域名

ssl:

啟用子產品:編輯/etc/httpd/conf.modules.d/00-base.conf檔案,添加下面這行,如果已經有了但是注釋了,則取消注釋即可

<code>loadmodule ssl_module modules/mod_ssl.so</code>

先啟用子產品

配置相同ip相同端口不同域名

//記得把檔案拖出來修改,之後再拖進去

搞完就可以直接用域名登入網頁了