如何編譯安裝apache WEB服務

Lamp之-Apache服務生產實戰應用指南
Apache是什麼?
Apache HTTP SERVER是Apache軟件基金會的一個高性能、功能強大,健壯可靠、又很靈活的
開放源代碼的web服務軟件。
apache對linux的支持相當好。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。
2.安裝Apache。
2.1卸載系統默認的安裝Apache軟件包。
[zxin10@web ~]$ rpm -qa httpd*
httpd-2.2.15-39.el6.centos.x86_64
httpd-tools-2.2.15-39.el6.centos.x86_64
#卸載
[root@web ~]#  rpm -e --nodeps httpd-2.2.15-39.el6.centos.x86_64
[root@web ~]# rpm -e --nodeps httpd-tools-2.2.15-39.el6.centos.x86_64
#下載鏡像
[root@web tools]# wget https://mirrors.aliyun.com/apache/httpd/httpd-2.2.34.tar.gz
[root@web tools]# tar zxvf httpd-2.2.34.tar.gz 
#切換到解壓後的apache軟件包目錄
yum install  zlib-devel  -y (也許報錯)
#初始化apache安裝配置
./configure \
--prefix=/application/apache2.2.34 \
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-modules=most \
--enable-so \
--with-mpm=worker \
--enable-rewrite
編譯並安裝
make
make install
創建軟連接:
[root@c601 httpd-2.2.34]# ln -s /application/apache2.2.34 /application/apache
#到此apache安裝完成
[root@c601 tools]# /application/apache/bin/apachectl -l #檢查模塊
[root@c601 tools]# /application/apache/bin/apachectl -M
#啓動apache服務
[root@c601 tools]# /application/apache/bin/apachectl start
httpd: apr_sockaddr_info_get() failed for c601.zte
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[root@c601 tools]# netstat -lntup|grep 80
tcp        0      0 :::80                       :::*                        LISTEN      27173/httpd         
[root@c601 tools]# lsof -i tcp:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   27173   root    4u  IPv6  27416      0t0  TCP *:http (LISTEN)
httpd   27175 daemon    4u  IPv6  27416      0t0  TCP *:http (LISTEN)
httpd   27176 daemon    4u  IPv6  27416      0t0  TCP *:http (LISTEN)
httpd   27177 daemon    4u  IPv6  27416      0t0  TCP *:http (LISTEN)
[root@c601 tools]# ps -ef |grep httpd|grep -v grep
root     27173     1  0 19:08 ?        00:00:00 /application/apache2.2.34/bin/httpd -k start
daemon   27174 27173  0 19:08 ?        00:00:00 /application/apache2.2.34/bin/httpd -k start
daemon   27175 27173  0 19:08 ?        00:00:00 /application/apache2.2.34/bin/httpd -k start
daemon   27176 27173  0 19:08 ?        00:00:00 /application/apache2.2.34/bin/httpd -k start
daemon   27177 27173  0 19:08 ?        00:00:00 /application/apache2.2.34/bin/httpd -k start
#測試網站
[root@c601 tools]# curl 192.168.0.252
<html><body><h1>It works!</h1></body></html
#查看錯誤日誌
[root@c601 tools]# tail -200 /application/apache/logs/error_log 
[Sun Jan 28 19:08:30 2018] [notice] Digest: generating secret for digest authentication ...
[Sun Jan 28 19:08:30 2018] [notice] Digest: done
[Sun Jan 28 19:08:30 2018] [notice] Apache/2.2.34 (Unix) DAV/2 configured -- resuming normal operations
[Sun Jan 28 19:10:37 2018] [error] [client 192.168.0.102] File does not exist: /application/apache2.2.34/htdocs/favicon.ico, referer: http://192.168.0.252/


#部署一個簡單的網站


#查看站點目錄
[root@c601 tools]# grep -i Documentroot /application/apache/conf/httpd.conf 
# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/application/apache2.2.34/htdocs"
# This should be changed to whatever you set DocumentRoot to.
    # access content that does not live under the DocumentRoot.


#"/application/apache2.2.34/htdocs" <--這個是apache的主站點目錄
#這裏我們進入到/application/apache2.2.34/htdocs下,刪除掉apache默認的首頁index.html,然後新建立一個index.html,加入
如下網頁內容後保存:
<html>
<head><title>baizuo's blog.</title></head>
<body>
HI,I am baizuo,My blog address is 
<a href="http://blog.csdn.net/baizuo_1/">http://http://blog.csdn.net/baizuo_1/</a>
</body>
</html>
#然後在瀏覽器端瀏覽網頁。


附錄:
附錄相關安裝信息:
[root@c601 tools]# /application/apache/bin/apachectl -V
Server version: Apache/2.2.34 (Unix)
Server built:   Jan 28 2018 18:59:51
Server's Module Magic Number: 20051115:43
Server loaded:  APR 1.5.2, APR-Util 1.5.4
Compiled using: APR 1.5.2, APR-Util 1.5.4
Architecture:   64-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/application/apache2.2.34"
 -D SUEXEC_BIN="/application/apache2.2.34/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


附錄:(./configure後參數說明)
--prefix=/application/apache2.2.34 \ 
表示制定apache安裝路徑爲/application/apache2.2.34。如果不指明安裝路徑。則默認的安裝路徑爲/usr/local/apache2
--enable-deflate \
提供對內容的壓縮傳輸編碼支持,一般html,js,css等內容的站點,使用此參數功能會大大提高傳輸速度,提升訪問體驗。
在生產環境中,這個是apach調優的一個重要選項之一。
--enable-expires \
激活允許通過文件控制http的expires和cache-control頭內容,即對網站圖片,js,css等內容,提供在客戶端瀏覽器緩存的設置。
這是apache調優的重要選項之一。
--enable-headers \
提供允許對http請求頭的控制。
--enable-modules=most \
--enable-so \
激活apache服務的DSO支持,即在以後可以以DSO的方式編譯安裝共享模塊,這個模塊本身不能以DSO方式編譯。
--with-mpm=worker \
選擇apache mpm模式爲worker模式,因worker模式原理更多的使用線程處理請求,所以可以處理更多的開發請求,而系統資源的開銷
小於基於進程的MPM prefork。如果不指定此參數,默認的參數爲prefork進程模式。這是apache調優的一個重要選項之一。
--enable-rewrite
提供基於URL規則的重寫功能,即根據已知URL地址,轉成其他想要的URL地址。如前文講到的僞靜態功能就是這個模塊實現的。
這個是apache生產環境中必要的一個重要功能。
附錄:web服務出現問題時如何排查?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章