歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux系統中如何構建LAMP網站服務平台

linux系統中如何構建LAMP網站服務平台

日期:2017/3/3 16:00:36   编辑:關於Linux

一、安裝httpd服務器

1.編輯安裝

在配置Apache Web服務器之前,需要正確安裝好httpd服務器軟件。

1). 獲取軟件包

2). 解壓並釋放源碼包

3). 配置編譯選項

在配置前可以先執行“./configure –help”命令查看各種配置項的詳細信息,以便實現更靈活,更豐富的功能定制配置。

--prefix用於指定httpd服務程序將要安裝到的系統目錄,這裡設置的是缺省目錄“/usr/local/apache2”;

--enable-so用於能夠使httpd服務動態加載模塊的功能;

--enable-rewrite用於能夠使httpd服務具有rewrite網頁地址重寫功能。

4).編譯服務器程序

需要執行“make”命令進行編譯,將源代碼轉換為可執行的程序。

5).安裝已編譯完成的程序

執行“make install”命令完成最後的安裝過程,將已經編譯完的httpd程序及相關目錄、文件復制到預設的安裝目錄中。

二、httpd服務基礎

1.web服務器基本構建

1).修改主配置文件httpd.conf

用vi編輯器打開httpd.conf主配置文件,添加設置web服務器域名的配置行。需要用到的配置項為“ServerName”

[root@www ~]# vi /usr/local/apache2/conf/httpd.conf

ServerName www.qq.com

使用ServerName設置主機域名,應在該域的授權DNS服務器中設置有對應的A記錄,以便所有的主機都可以通過該域來訪問這

台WEB服務器

2).檢查httpd.ocnf文件的語法設置

使用帶“-t”選項的apachetl命令對配置內容進行語法檢查(也可發使用“httpd –t”命令)。如果沒有語法錯誤,將會

顯示“syntax OK”的信息。

[root@www conf]# /usr/local/apache2/bin/apachectl –t

Syntax OK

3).啟動、終止及重啟httpd服務

使用帶“start”選項的apachectl命令可發啟動htttpd服務。

[root@www ~]# /usr/local/apache2/bin/apachectl start

[root@www ~]# netstat -anpt | grep :80

tcp 0 0 :::80 :::* LISTEN 21669/httpd

若希望在服務器開機後自動運行httpd服務,可以將對應的啟動命令寫入到“/etc/rc.d/local”文件中。

2.httpd.conf配置文件

本文URL地址:http://www.bianceng.cn/OS/Linux/201410/45503.htm

Httpd.conf文件是httpd服務的主配置文件,其中包含的配置項直接決定著Web服務器的各項運行參數及服務器性能。

1). httpd.conf配置文件

由注釋行和設置行兩部分組成,注釋行以“#”開始,設置行不以“#”開始,是配置文件中真正有效的設置內容。

命令去除掉注釋行。

[root@www ~]# cd /usr/local/apache2/conf/

[root@www conf]# cp httpd.conf httpd.conf.bak

[root@www conf]# grep -v '#' httpd.conf.bak | grep -v '^$' > httpd.conf

2). httpd.conf中的全局配置、

httpd.conf配置文件中包括有相當數量的全局配置項,這些配置項不包括在任何區域中,決定了Apache服務器的全局參數。

以下是httpd.conf文件中常用到的全局配置項內容及注解。

ServerRoot "/usr/local/apache2" //用於設置httpd服務器的根目錄

Listen 80 //用於設置監聽的端口號

User daemon //用於設置運行htttpd進程時的用戶身份

Group daemon //用於設置運行htttpd進程時的組身份

ServerAdmin [email protected] //用於設置管理員的E-mail地址

ServerName www.qq.com //用於設置FQDN

DocumentRoot "/usr/local/apache2/htdocs" //用於設置網頁文檔根目錄

DirectoryIndex index.html index.php //用於設置網站的默認首頁

ErrorLog "logs/error_log" //用於設置錯誤日志文件的路徑和文件名

LogLevel warn //用於設置記錄的級別,默認為Warn(警告)

CustomLog logs/access_log common //用於設置訪問日志文件的路徑和格式類型

PidFile logs/httpd.pid //用於設置保存httpd服務器程序進和號(PID)文件

Timeout 300 //用於設置服務器與浏覽器之間網絡連接的超時時間

KeepAlive On //用於設置是否使用保持連接功能

MaxKeepAliveRequests 100 //用於設置客戶端每次連接允許請求響應的最大文件數

KeepAliveTimeout 15 //用於設置保持連接的超時秒數

Include conf/extra/httpd-vhosts.conf //用於包含另一個配置文件的內容

… …

3). httpd.conf中的區域設置

除了全局設置項外,htttpd.conf文件中的在多數配置都是包括在區域中的,區域設置使用一對組合標記,限定了配置項的

作用范圍,例如,配置文件中常用的目錄區域的形式如下:

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

在以上的區域定義中,使用<Directory />定義區域的開始,使用</Directory>定義該區域的結束,其間的設置內容只作用

於區域內部,而不會在全局或其它區域中生效。目錄區域設置主要用於為特定的目錄,設置訪問控制權限。除了目錄區域外,經常會

設置如“<VirtualHost>… …</VirtualHost>”這樣的虛擬主機等的區域。

4).httpd服務的日志

httpd服務器包括訪問日志和錯誤日志兩個常用的日志文件,通過查看日志文件可以了解Apache服務器運行情況,也可以排

查看日志文件

[root@www ~]#tail -2 /usr/local/apache2/logs/access_log

三、Web站點的典型應用

1.測試httpd服務器的性能

Httpd服務自帶了一個壓力測試工具AB,用於檢測Web站點的性能表現,AB命令工具位於安裝目錄中的“bin/”文件夾下

Ab [-q] –c 並發請求數 –n 總的請求數 [http://] 域名 [:端口]/路徑

使用-q選項時,將不顯示測試進度信息,當測試的目標是Web站點的根路徑時,注意最後的“/”符號不能省略。指定的並發

請求數不能大於總的請求數。

1).使用ulimit命令修改最大文件數限制

Ulimt是一個Bash內部的命令,可以用於對Shell進程使用的系統資源進行限制。

修改最大文件數為100000

[root@www ~]#ulimit -a | grep "open files"

open files

[root@www ~]#ulimit -n 100000

[root@www ~]#ulimit -a | grep "open files"

open files (-n) 100000

2).使用AB命令進行壓力測試

執行AB測試命令後,通過命令輸出的結果判斷Web服務器的響應情況及性能表現

[root@www ~]# /usr/local/apache2/bin/ab -q -c 2000 -n 4000 http://www.qq.com/

....

二.構建虛擬WEB主機

虛擬Web主機指的是在同一台服務器中運行多個Web站點的應用,其中的每一個站點並不獨立占用一台真正的計算機。

三種虛擬主機類型:

基於域名的虛擬主機:為每個虛擬主機使用不同的域名,但是其對應的IP地址也不相同

基於IP地址的虛擬主機:使用不同的域名,對應不同的IP

基於端口的虛擬主機:不適用域名、IP地址來區分,而是用不同的TCP端口號

1. 構建基於域名的虛擬主機

1).確定服務器的主機名、IP地址等參數。

2).分別准備兩個虛擬站點的網頁文件

3).修改httpd.conf文件,添加虛擬主機配置

本文URL地址:http://www.bianceng.cn/OS/Linux/201410/45503.htm

編輯httpd.conf文件,使用“Name VirtualHost”配置項指定運行虛擬主機的服務器IP地址,並為每一個虛擬站點增加一

段“<VirtualHost虛擬主機IP地址>… …</VirtualHost>”區域設置,其中至少包括虛擬主機的域名、網頁文檔根目錄的配置行,其

他的設置內容可發參考httpd.conf文件中的全局配置。如果虛擬主機數較多,建議為每一個虛擬主機使用獨立的訪問日志和錯誤日志

文件。

4).重新啟動httpd服務

5)在客戶機浏覽器中訪問虛擬Web站點

首先要確保客戶機能夠正確解析這兩個虛擬主機的域名,並能夠連接到該服務器,如果在實驗中沒有搭建可用的DNS服務器,

也可通過修該客戶機的hosts文件來完成域名解析——如果是Linux客戶機,則修改“/etc/hosts”文件;如果是windows客戶機,則

修改“C:\WINDOWS\system32\drivers\hosts”文件,添加相應域名到IP地址的映射記錄即可。

在客戶端浏覽器中分別訪問兩個虛擬主機站點www.zou.com、www.pan.com,將會看到不同的網頁內容

浏覽網站www.zou.com所看到的效果:

2. 構建基於IP地址的虛擬主機

構建基於IP地址的虛擬主機服務器時,與構建基於域名虛擬主機的過程基本類似。只不過中httpd.conf文件中的配置稍微有

些區別:不再需要指明“NameVirtualHost”配置行,每個虛擬主機的“<VirtualHost虛擬主機IP地址>… …</VirtualHost>”區域

設置中,也要改為各自域名對應的IP地址。

3. 構建基於端口的虛擬主機

構建基於端口的虛擬主機服務器時,httpd服務監聽的IP地址、端口號需要與各虛擬主機使用的IP地址、端口號相對應,一

般也無需指定“NameVirtualHost”配置行。

三. 建立系統用戶的個人主頁

Httpd服務自帶的個為主頁功能,為Linux系統用戶提供Web站點服務。

1. 修改httpd文件,啟用個人主頁功能

添加“UserDir public_html”配置行,並添加“<Directory“/home/*/public_html”>… …</Directory>”目錄區域

設置,以便允許客戶機訪問系統用戶的個人網頁目錄。

2. 建立個人主頁測試文件

切換為目標用戶,在宿主目錄中建立public_html文件夾,並添加測試網頁文件。

3. 重啟httpd服務

4. 在客戶機浏覽器中訪問個人主頁

四、httpd服務的訪問控制

1.基於用戶的訪問控制

基於用戶的訪問控制包含認證和授權兩個過程。

認證:指識別用戶身份的過程

授權:是允許特定用戶訪問特定區域信息的過程

Apache使用基本認證和摘要認證兩種方式

使用摘要認證需要編輯httpd的過程中預先配置"--enable-auth-digest"項

基本認證是apache的基本功能,不需要預先配置特別的選項

1).編輯httpd.conf配置文件,查找關於awstats的目錄區域設置,添加認證授權設置

AuthName :定義受保護的領域名稱

AuthType :設置認證類型

AuthUserFile:設置用於保存賬號、密碼的認證文件路徑

require valid-user :授權給認證文件中的所有有效用戶

2).創建存儲認證用戶賬號及口令的文件

3).重啟服務

4).在浏覽器中訪問awstats頁面進行驗證

2.基於客戶端地址的訪問控制

基於客戶端地址訪問控制主要應用於目錄區域“<directory>```<directory>”

配置項:

Order allow,deny : 先允許後拒絕,默認拒絕所有沒有被明確允許的客戶端地址

Order deny,allow : 先拒絕後允許,默認允許所有沒有被明確拒絕的客戶端地址

本文出自 “Hello_小壯” 博客,請務必保留此出處http://xiaozhuang.blog.51cto.com/4396589/861715

Copyright © Linux教程網 All Rights Reserved