如何編譯安裝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服務出現問題時如何排查?
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服務出現問題時如何排查?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.