生活随笔
收集整理的這篇文章主要介紹了
搭建WEB服务详解(二)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
四. Web 站點(diǎn)的典型應(yīng)用 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1. 測(cè)試 httpd 服務(wù)器的性能( httpd 服務(wù)自帶了一個(gè)壓力測(cè)試工具 ab, 用于檢測(cè) web 站點(diǎn)的性能表現(xiàn))
命令格式:
ab ?[-q] ?–c 并發(fā)請(qǐng)求數(shù) ?–n ? 總的請(qǐng)求數(shù) ?
[http://] 域名 [: 端口 ]/ 路徑
[] 中的為可選的,使用 -q 選項(xiàng)時(shí),將不顯示測(cè)試進(jìn)度信息;當(dāng)測(cè)試的目標(biāo)是 web 站點(diǎn)的根路徑時(shí),最后的“ / ”不能少
① 使用 ulimit 命令修改最大文件數(shù)限制
在 RHEL5 中,默認(rèn)允許打開(kāi)的最大文件數(shù)為 1024 。由于使用 AB 測(cè)試工具時(shí)可能需要同時(shí)打開(kāi)更多的文件,因此需要使用 ulimit 命令突破這個(gè)限制。 ulimit 是一個(gè) bash 內(nèi)部命令,可以對(duì) Shell 進(jìn)程使用的系統(tǒng)資源進(jìn)行限制。
[root@localhost ~]# ulimit -a |grep "open fils"
[root@localhost ~]#
[root@localhost ~]# ulimit -a |grep "open files"
open files????????????????????? (-n) 1024
[root@localhost ~]# ulimit -n 10000
[root@localhost ~]# ulimit -a |grep "open files"
open files?????????????????? ???(-n) 10000
② 執(zhí)行 ab 命令進(jìn)行壓力測(cè)試(通過(guò)命令輸出的結(jié)果判斷 web 服務(wù)器的響應(yīng)情況及性能表現(xiàn),如查看 cpu 、內(nèi)存等信息)
/usr/local/apache2/bin/ab -q -c 2000 -n 4000 www.haha.com/
總結(jié):
⑴ httpd 服務(wù)的目錄結(jié)構(gòu) (在 httpd 軟件的安裝目錄“ /usr/local/apache2 ”中,包括了運(yùn)行 web 服務(wù)器所需要的執(zhí)行程序、配置文件、日志文件,幫助手冊(cè)等所有內(nèi)容,該目錄被稱(chēng)為 Apache 服務(wù)器的根目錄)
?[root@localhost ~]# ls /usr/local/apache2/
bin??? cgi-bin? error?? icons??? lib?? man???? modules
build? conf???? htdocs? include? logs? manual
???? conf 目錄:保存了 Apache 服務(wù)器的配置文件,其中 httpd.conf 是它的主配置文件。
???? bin 目錄:包括了運(yùn)行和管理 web 服務(wù)所需要的執(zhí)行程序
?? 其中:
?????? httpd 是服務(wù)器的執(zhí)行程序
?????? apachectl 是服務(wù)程序的啟動(dòng)腳本
???? htdocs 目錄:是 Apache 服務(wù)器的網(wǎng)頁(yè)文檔的根目錄
u??? manual 目錄:保存了 Apache 服務(wù)器的完整配置指南文 ??????????? 檔,以 HTML 文件格式提供。
u??? lib 目錄 : 保存了運(yùn)行 Apache 服務(wù)器所需的庫(kù)文件
u??? man 目錄 : 保存了 httpd 、 apachectl 等程序的 man 幫助文 ?????? 檔
u??? modules 目錄:保存了提供給 Apache 服務(wù)器動(dòng)態(tài)加載的 ? 模塊文件
u??? logs 目錄:保存 Apache 服務(wù)器的日志文件
通過(guò)熟悉這些目錄的結(jié)構(gòu)和功能,有助于對(duì) web 服務(wù)器進(jìn)行有效的管理。
⑵ 在對(duì) httpd.conf 文件進(jìn)行修改后,建立使用 apachectl 命令 ( 加“ -t ”選項(xiàng) ) 對(duì)內(nèi)容進(jìn)行語(yǔ)法檢查,也可以使用“ httpd -t ”命令。如果沒(méi)有錯(cuò)誤,將會(huì)顯示“ Syntax OK ”。
?????? /usr/local/apache2/bin/apachectl? -t
?????? /usr/local/apache2/bin/httpd? -t
⑶ 啟動(dòng) httpd 服務(wù)時(shí)出現(xiàn)的故障
① 無(wú)法確定 web 服務(wù)主機(jī)名
例:當(dāng) httpd 服務(wù)識(shí)別的主機(jī)名和服務(wù)器實(shí)際的主機(jī)名不一致時(shí),可能導(dǎo)致啟動(dòng) httpd 服務(wù)的時(shí)候反應(yīng)非常緩慢,并且出現(xiàn)以下提示信息。
Httpd:apa_sockaddr_info_get() failed for www.server.com
Httpd:Could not reliably detemine the server’s fully qualified domain name,using 127.0.0.1 for ServerName
解決辦法:
ü????? 在 httpd.conf 文件中,添加配置行“ ServerName www.server.com ” , 指定完整的主機(jī)名。若沒(méi)有“ ServerName ”配置行, httpd 服務(wù)可能將“ 127.0.0.1 ”作為主機(jī)名。
ü????? 編輯“ /etc/sysconfig/network ”文件,修改主機(jī)名,如
“ HOSTNAME=www.server.com ”。
ü????? 編輯“ /etc/hosts ”文件,添加服務(wù)器的主機(jī)名、 IP 地址映射記錄,如“ 172.16.100.5? www.haha.com? www ”。
② TCP80 端口已被占用
例:從下面可以看出, 80 端口已被其它進(jìn)程占用,只需要找到占用 80 端口的進(jìn)程并關(guān)閉即可。一般是系統(tǒng)原有 RPM 方式安裝的 httpd 服務(wù)進(jìn)程造成的,只要停用原來(lái)的 httpd 服務(wù),并將自啟動(dòng)狀態(tài)設(shè)置為關(guān)閉即可。
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
解決辦法:
[root@localhost ~]# netstat -anpt|grep :80
tcp??????? 0????? 0 :::80?????????????????????? :::*??????????????????????? LIST? EN????? 5001/httpd
[root@localhost ~]# killall -9 httpd
[root@localhost ~]# chkconfig --level 35 httpd off
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
⑷ httpd.conf 配置文件
① 常用的全局配置項(xiàng)(這些全局配置項(xiàng)不包括在任何區(qū)域中,決定了 Apache 服務(wù)器的全局參數(shù))
ServerRoot? “/usr/local/apache2”??? //httpd 服務(wù)的根目錄
Listen 80?? // 設(shè)置 Apache 服務(wù)器監(jiān)聽(tīng)的端口號(hào),默認(rèn)為 80
User daemon???????? // 設(shè)置運(yùn)行 httpd 進(jìn)程時(shí)的用戶身份
Group daemon?????? // 設(shè)置運(yùn)行 httpd 進(jìn)程時(shí)的組身份
ServerAdmin you@example.com
// 設(shè)置 Apache 管理員的 E-mail 地址,可以在出現(xiàn)故障時(shí)通過(guò)此 E-mail 地址及時(shí)聯(lián)系 Apache 服務(wù)器管理員
ServerName? www.example.com
// 設(shè)置 Apache 服務(wù)器的完整主機(jī)名( FQDN 名)
DocumentRoot "/usr/local/apache2/htdocs"
// 設(shè)置網(wǎng)頁(yè)文檔的根目錄在系統(tǒng)中的實(shí)際路徑
DirectoryIndex index.html index.php
// 設(shè)置網(wǎng)站的首頁(yè)(索引頁(yè)),可以設(shè)置多個(gè)文件,以空格分開(kāi),默認(rèn)的首頁(yè)文件為 index.html
ErrorLog "logs/error_log"
// 設(shè)置錯(cuò)誤日志文件的路徑和文件名,默認(rèn)“ logs/error_log ”
LogLevel warn?
// 設(shè)置記錄日志的級(jí)別,默認(rèn)為 Warn (警告)
CustomLog "logs/access_log" common
// 設(shè)置 Apache 服務(wù)器中訪問(wèn)日志文件的路徑和格式類(lèi)型
PidFile? logs/httpd.pid
// 設(shè)置保存 httpd 服務(wù)器程序進(jìn)程號(hào)( PID )的文件,默認(rèn)為“ logs/httpd.pid ”
Timeout 300
// 設(shè)置 web 服務(wù)器與瀏覽器之間網(wǎng)絡(luò)連接的超時(shí)秒數(shù)
KeepAlive On
// 設(shè)置是否使用保持連接功能
?????? 為 On 時(shí),客戶機(jī)與服務(wù)器建立一次連接后可以請(qǐng)求傳輸多個(gè)文件,將提高服務(wù)器傳輸文件的效率
?????? 為 Off 時(shí),表示不使用,客戶機(jī)的每次連接只能從服務(wù)器請(qǐng)求返回一個(gè)文件,傳輸效率很低
MaxKeepAliveRequests 100
// 設(shè)置客戶端每次連接允許請(qǐng)求相應(yīng)的做大文件數(shù),默認(rèn)為 100 個(gè)。當(dāng) KeepAlive 設(shè)置為 On 時(shí)才生效
KeepAliveTimeout 15
// 設(shè)置保持連接的超時(shí)秒數(shù),當(dāng)客戶機(jī)的兩次相鄰請(qǐng)求超過(guò)該設(shè)置值時(shí)需要重新進(jìn)行連接請(qǐng)求,默認(rèn)為 15 秒
Include conf/extra/httpd-vhosts.conf
//Include :用于包含另一個(gè)配置文件的內(nèi)容,可以將實(shí)現(xiàn)一些特殊功能的配置單獨(dú)放到一個(gè)文件里,再使用 Include 配置項(xiàng)包含到 httpd.conf 主配置文件中來(lái),便于獨(dú)立維護(hù)
② 區(qū)域設(shè)置(其設(shè)置內(nèi)容只作用于區(qū)域內(nèi)部,而不會(huì)在全局或其他區(qū)域中生效)
2???? 目錄區(qū)域(主要用于為特定的目錄設(shè)置訪問(wèn)控制權(quán)限)
如:對(duì)系統(tǒng)跟目錄“ / ”的設(shè)置
<Directory />
??? Options FollowSymLinks
??? AllowOverride None
??? Order deny,allow
??? Deny from all
</Directory>
2???? 虛擬主機(jī)區(qū)域
如:
<VirtualHost 172.16.100.5>
??????? ServerName www.haha.com
??????? DocumentRoot /home/haha/public_html/
</VirtualHost>
轉(zhuǎn)載于:https://blog.51cto.com/liuwenbing/358153
總結(jié)
以上是生活随笔 為你收集整理的搭建WEB服务详解(二) 的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。