Apache是一款Web服務器軟件,有多種產品,能夠支持SSL技術,支持多個虛擬主機。它快速、可靠而且可經過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。html
Apache的特色是簡單、速度快、性能穩定,並可作代理服務器來使用。它能夠在大多數計算機操做系統中運行,因爲其跨平臺和安全性被普遍使用。node
Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,能夠在大多數計算機操做系統中運行,因爲其多平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。它快速、可靠而且可經過簡單的API擴展,將Perl/Python等解釋器編譯到服務器中。 [2] linux
Apache HTTP服務器是一個模塊化的服務器,源於NCSAhttpd服務器,通過屢次修改,成爲世界使用排名第一的Web服務器軟件。c++
它能夠運行在幾乎全部普遍使用的計算機平臺上。web
Apache源於NCSAhttpd服務器,通過屢次修改,成爲世界上最流行的Web服務器軟件之一。Apache取自「a patchy server」的讀音,意思是充滿補丁的服務器,由於它是自由軟件,因此不斷有人來爲它開發新的功能、新的特性、修改原來的缺陷。Apache的特色是簡單、速度快、性能穩定,並可作代理服務器來使用。apache
原本它只用於小型或試驗Internet網絡,後來逐步擴充到各類Unix系統中,尤爲對Linux的支持至關完美。Apache有多種產品,能夠支持SSL技術,支持多個虛擬主機。Apache是以進程爲基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,所以,在一個Apache Web站點擴容時,一般是增長服務器或擴充羣集節點而不是增長處理器。到目前爲止Apache仍然是世界上用的最多的Web服務器,市場佔有率達60%左右。世界上不少著名的網站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平臺的應用(能夠運行在幾乎全部的Unix、Windows、Linux系統平臺上)以及它的可移植性等方面。centos
Apache的誕生極富有戲劇性。當NCSAWWW服務器項目停頓後,那些使用NCSAWWW服務器的人們開始交換他們用於該服務器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上建立了Apache。緩存
Apacheweb服務器軟件擁有如下特性:安全
Apache Server配置界面服務器
1.支持最新的HTTP/1.1通訊協議
2.擁有簡單而強有力的基於文件的配置過程
3.支持通用網關接口
4.支持基於IP和基於域名的虛擬主機
5.支持多種方式的HTTP認證
6.集成Perl處理模塊
7.集成代理服務器模塊
8.支持實時監視服務器狀態和定製服務器日誌
9.支持服務器端包含指令(SSI)
10.支持安全Socket層(SSL)
11.提供用戶會話過程的跟蹤
12.支持FastCGI
思路
一、wget http的包
二、安裝依賴項,pcre zlib-devel pcre-devel gcc gcc-c++ apr-util
三、解壓httpd的包,tar,unzip
四、./configure --prefix=路徑 --user=用戶 --group=組,--with加組件名
5.echo $?
6.make && make install
7.進入你httpd的目錄,把apachectl加入環境變量,並啓動
八、關閉selinux及防火牆
九、測試,宿主機去訪問,或者curl 127.0.0.1:端口
安裝過程:
安裝httpd兩種方法(yum是最簡單的,二選一安裝就行 )
[root@httpd ~]# wget http://www.apache.org./dist/httpd/httpd-2.4.39.tar.gz [root@httpd ~]# yum install httpd -y
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
軟件包 httpd-2.4.6-90.el7.centos.x86_64 已安裝而且是最新版本
無須任何處理
[root@httpd ~]# rpm -qa httpd
httpd-2.4.6-90.el7.centos.x86_64
順便普及一下卸載命令
[root@httpd ~]# rpm -e(--nodebse) httpd [root@httpd ~]# rpm -qa httpd
安裝依賴工具包,整理後的(後面報錯涉及到得的安裝包也都整理在了這裏安裝)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
yum install pcre -y
yum install pcre-config -y
yum install pcre-lib -y
yum install pcre-devel -y
yum install zlib-devel -y
yum install zlib zlib-level -y
yum install gcc gcc-c++ -y
解壓及環境配置
[root@httpd ~]# ls httpd-2.4.39.tar.gz httpd-2.4.39.tar.gz [root@httpd ~]# ls httpd-2.4.39.tar.gz -l -rw-r--r-- 1 root root 9199150 9月 21 23:35 httpd-2.4.39.tar.gz [root@httpd ~]# tar xf httpd-2.4.39.tar.gz
tar -zxf apr-1.6.5.tar.gz cd apr-1.6.5 ./configure --prefix=/usr/local/apr make && make install
tar -zxf apr-upr-util-1.6.1.tar.gz cd apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config make && make install 出錯:
解壓文檔後進入文檔,輸入如下內容
./configure \ --prefix=/application/apache2.4.39 \ --enable-deflate \ --enable-expires \ 緩存 --enable-headers \ 激活HTTP的頭 --enable-modules=most \ --enable-so \ --with-mpm=worker \ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-rewrite
(若是還缺乏安裝包,可直接進行yum 安裝)
echo $? 0
檢查沒有錯就進行make
配置變量環境
[root@localhost http]# echo "PATH=$PATH:/application/http/bin" >> /etc/profile [root@localhost http]# source /etc/profile [root@localhost http]# apachectl AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
關閉防火牆及 selinux
測試,成功
[root@localhost bin]# curl 127.0.0.1 <html><body><h1>It works!</h1></body></html>
1. 在編譯apr-util-1.6.1中報錯
1. 編譯中斷。
make[1]: *** [xml/apr_xml.lo] 錯誤 1 make[1]: 離開目錄「/usr/local/apr-util-1.6.1」 make: *** [all-recursive] 錯誤 1
解決:下載安裝expat庫 yum install expat-devel
2.安裝httpd-2.4.39
報錯:
make[2]: *** [htpasswd] 錯誤 1 make[2]: 離開目錄「/root/httpd-2.4.39/support」 make[1]: *** [all-recursive] 錯誤 1 make[1]: 離開目錄「/root/httpd-2.4.39/support」 make: *** [all-recursive] 錯誤 1
解決辦法:
yum groupinstall "Development Tools" "Server Platform Development" -y yum install pcre-devel expat-devel -y cp -r /root/apr-1.6.5 /root/httpd-2.4.39/srclib/apr cd /root/apr-1.6.5 ./configure --prefix=/usr/local/apr make && make install cp -r /root/apr-util-1.6.1 /root/httpd-2.4.39/srclib/apr-util cd /root/apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install cd /root/httpd-2.4.39 ./configure --with-included-apr --prefix=/application/httpd2.4.39 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
3.解決最終 沒法鏈接
檢查網絡鏈接是否正常
Ping www.baidu.com
檢查防火牆和selinux是否關閉
systemctl stop iptables systemctl stop firewall systemctl stop firewalld getenforce
檢查端口是否存在,或者是否開啓
netstat -nlt|grep "80" (若是沒有,去開起服務root@localhost httpd-2.4.39]# ./apachectl) [root@localhost httpd-2.4.39]# netstat -nlt|grep "80" tcp6 0 0 :::80 :::* LISTEN
檢查進程是否存在
[root@localhost httpd-2.4.39]# ps -ef|grep http root 29855 1 0 22:13 ? 00:00:00 /application/http/bin/httpd daemon 29856 29855 0 22:13 ? 00:00:00 /application/http/bin/httpd daemon 29857 29855 0 22:13 ? 00:00:00 /application/http/bin/httpd daemon 29858 29855 0 22:13 ? 00:00:00 /application/http/bin/httpd root 30135 2800 0 23:54 pts/0 00:00:00 grep --color=auto http
在本地測試Wget是否成功
[root@localhost httpd-2.4.39]# wget 192.168.170.133 --2019-10-23 23:55:44-- http://192.168.170.133/ 正在鏈接 192.168.170.133:80... 已鏈接。 已發出 HTTP 請求,正在等待迴應... 200 OK 長度:45 [text/html] 正在保存至: 「index.html」
100%[===============>] 45 --.-K/s 用時 0s
2019-10-23 23:55:44 (5.88 MB/s) - 已保存 「index.html」 [45/45])