1. 程式人生 > >linux中http伺服器搭建

linux中http伺服器搭建

WEB概念

WEB是一種互動式圖形介面的Internet服務,具有強大的資訊連線功能,通過超文字連結( HyperText ) 的 方式,將資訊通過 Internet 傳遞到全球每個角落!一般情況下,終端使用者通過瀏覽器輸入比較完整的URL即可以完成訪問

HTTP協議

HTTP(HyperText Transfer Protocol),是目前WWW傳遞資料的主流協議!網站上的網頁,則需要符合 HyperText Markup Language(HTML)的語法。

HTTP服務原理

當我們在網址欄輸入網址之後: 1)Client經過DNS解析得到WWW主機的IP,會發出一個數據包,以http協議聯接WWW主機,通 知WWW主機要以http的方法來取得資料。 2)WWW主機收到資料包後,根據Client的要求,提供相關的訊息來響應,大部分情況下用 http的協議傳送用HTML 語法的網頁資料到Client端的瀏覽器;

http服務安裝

通過rpm的方式,會安裝多餘的模組可能存在安全問題,所以我們選取編譯安裝的方式安裝Apache服務。

一.編譯安裝Apache軟體包

首先我們解除安裝自帶的httpd服務

**rpm -e httpd --nodeps**

然後進行編譯安裝

1)第一步解開原始碼封裝包

tar zxf httpd-2.2.17.tar.gz -C /usr/src/

2)第二步配置選擇安裝的功能 和安裝目錄等資訊

cd /usr/src/httpd-2.2.17/
./configure  --prefix=/usr/local/httpd  --enable-so  --enable-rewrite  --enable-charset-lite  --enable-cgi 

3)第三步編譯將配置資訊生成可執行的二進位制檔案

make

4)第四步安裝

make install

二.優化執行路徑

ln -s /usr/local/httpd/bin/* /usr/local/bin/
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl(檢視軟連結)

如圖所示 在這裡插入圖片描述

三.新增httpd系統服務

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd

在前面加入兩行如圖所示,更改首行的執行環境 在這裡插入圖片描述

完成後儲存退出

chkconfig --add httpd(調整啟動級別)

chkconfig --list httpd(檢視啟動狀態)

如圖所示 服務狀態

這個時候我們便配置完成

開啟瀏覽器輸入127.0.0.1可以看到 在這裡插入圖片描述 這裡的介面為http服務預設的目錄。

httpd服務訪問控制

為了讓我們的頁面更安全我們來配置使用者授權限制也就是說,使用者在訪問我們的介面時需要密碼。

新增使用者

cd /usr/local/httpd/bin  切換目錄
htpasswd -c /usr/local/httpd/conf/.htpass   webadmin

新增一個使用者名稱為webadmin的使用者 在第一次新增使用者的時候需要(-c)引數,後面既可省略

檢視使用者記錄檔案
cat /usr/local/httpd/conf/.htpass
左邊為使用者名稱,右邊為密碼(加密顯示)

在這裡插入圖片描述

對網站目錄新增授權

vi /usr/local/httpd/conf/httpd.conf

在這裡插入圖片描述 在如圖所示的位置加這四行,注意最上面是<Directory “/usr/local/httpd/htdocs”>裡面,儲存退出。

重啟服務

service  httpd  restart

測試

再一次用瀏覽器檢視127.0.0.1發現訪問的時候需要使用者名稱和密碼 在這裡插入圖片描述 這個時候我們輸入之前新增的使用者名稱和密碼即可,可以有效的防止外部人員檢視我們的網路,也是一種安全的防禦措施。

httpd服務的目錄結構

下面我們來介紹下目錄結構 服務目錄:/usr/local/httpd/

主配置檔案:/usr/local/httpd/conf/httpd.conf

網頁目錄:/usr/local/httpd/htdocs/

服務指令碼:/usr/local/httpd/bin/apachectl

執行程式:/usr/local/httpd/bin/httpd

訪問日誌: /usr/local/httpd/log/access_log

httpd.conf配置檔案

常用的全域性配置引數
ServerRoot:服務目錄
ServerAdmin:管理員郵箱
User:執行服務的使用者身份
Group:執行服務的組身份
ServerName:網站伺服器的域名
DocumentRoot:網頁文件的根目錄
Listen:監聽的IP地址、埠號
PidFile:儲存httpd程序PID號的檔案
DirectoryIndex:預設的索引頁檔案
ErrorLog:錯誤日誌檔案的位置
CustomLog:訪問日誌檔案的位置
LogLevel:記錄日誌的級別,預設為warn
Timeout:網路連線超時,預設為300秒
KeepAlive:是否保持連線,可選On或Off
MaxKepAliveRequests:每次連線最多請求檔案數
KeepAliveTimeout:保持連線狀態時的超時時間
Include:需要包含進來的其他配置檔案
區域配置項

<Directory “/usr/local/httpd/htdocs”>

 Options FollowSymLinks  	
 #控制選項,允許使用符號連結
AllowOverride None		
#不允許隱含控制檔案中的覆蓋配置
 Order deny,allow		
 #訪問控制策略的應用順序
 Deny from all		
#禁止任何人訪問此區域