第一步:準(zhǔn)備工作。查看系統(tǒng)是否已經(jīng)安裝了httpd,如果已經(jīng)安裝的話,將其卸載。
# 查看是否已經(jīng)安裝了httpd的相關(guān)rpm包
[root@VM_38_201_centos /]# cd /root/
[root@VM_38_201_centos ~]# rpm -qa |grep httpd
httpd-tools-2.4.6-67.el7.centos.6.x86_64
httpd-2.4.6-67.el7.centos.6.x86_64
# 如果安裝了,將其remove掉
[root@VM_38_201_centos ~]#yum -y remove httpd*
第二步: 安裝開發(fā)包組+軟件依賴包
1、安裝開發(fā)包組
安裝開發(fā)包組屬于通用過(guò)程,一般編譯安裝的時(shí)候,都需要用到開發(fā)包組提供的功能。
#安裝開發(fā)包組,開發(fā)包組里面包含了很多的編譯工具軟件
[root@iz2z ~]# yum groupinstall "Development tools" -y
2、安裝軟件依賴包
注:本文忽略了本機(jī)是否已安裝過(guò)依賴,直接重新安裝了所有依賴,也可以根據(jù)編譯報(bào)錯(cuò)一步步安裝;
[root@iz2z ~]# yum install apr-devel -y
[root@iz2z ~]# yum install apr-util-devel -y
[root@iz2z ~]# yum install pcre-devel -y
[root@iz2z ~]# yum install openssl-devel -y
第三步: 下載文件,解包
官網(wǎng)下載地址:http://httpd.apache.org/download.cgi
1、下載文件
[root@iz2z ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.29.tar.gz
2、檢查文件MD5值是否匹配:若不匹配需重新下載
[root@iz2z ~]# md5sum httpd-2.4.29.tar.gz
6380b0856658f07479fdcba9e20294a6 httpd-2.4.29.tar.gz
3、解壓文件
[root@iz2z ~]# tar -xzf httpd-2.4.29.tar.gz
[root@iz2z ~]# ls
httpd-2.4.29 httpd-2.4.29.tar.gz
第四步: 編譯和安裝
進(jìn)入到解壓文件目錄,依次運(yùn)行以下命令:
[root@iz2z httpd-2.4.29]# ./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all --enable-so --enable-rewrite
[root@iz2z httpd-2.4.29]# make
[root@iz2z httpd-2.4.29]# make install
注:安裝時(shí) ./configure 所接參數(shù),可根據(jù)個(gè)人需求做出更改
第五步: 啟用httpd服務(wù)
[root@iz2z ~]# /usr/local/apache2/bin/apachectl start
在瀏覽器中輸入服務(wù)器ip,即可訪問(wèn)頁(yè)面
也可以將路徑配置到環(huán)境變量中:直接命令行中輸入apachectl start即可啟動(dòng)
[root@iz2z ~]# echo export PATH=/usr/local/apache2/bin:$PATH >>/etc/profile
[root@iz2z ~]# source /etc/profile
[root@iz2z ~]# apachectl start
httpd 的簡(jiǎn)單配置:(未列出配置文件中的所有信息,只列出自己目前用到的)
[root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/httpd.conf
#服務(wù)的路徑
ServerRoot "/usr/local/httpd2"
#監(jiān)聽(tīng)端口
Listen 8888
Listen 8081
#管理員的郵件(若服務(wù)出現(xiàn)了問(wèn)題,會(huì)給管理員發(fā)郵件,前提是服務(wù)器能發(fā)出郵件)
ServerAdmin you@example.com
#域名信息
ServerName 127.0.0.1:80
#apache發(fā)布的目錄
DocumentRoot "/usr/local/httpd2/htdocs"
<IfModule dir_module>
#默認(rèn)訪問(wèn)文件
DirectoryIndex index.html
</IfModule>
#錯(cuò)誤日志
ErrorLog "logs/error_log"
#警告級(jí)別:info debug error warn
LogLevel warn
#啟用 rewrite 引擎
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com:8888 [NC]
RewriteRule ^/(.*)$ http://www.baidu.com/$1 [L]
LoadModule rewrite_module modules/mod_rewrite.so
#引用多域名的配置
#NameVirtualHost *:8081
Include conf/extra/httpd-vhosts.conf
#導(dǎo)入mpm詳細(xì)配置
Include conf/extra/httpd-mpm.conf
[root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
#虛擬主機(jī)監(jiān)聽(tīng)端口號(hào)
#NameVirtualHost *:8081
<VirtualHost *:8081>
ServerAdmin webmaster@dummy-host.example.com
#虛擬主機(jī)的發(fā)布目錄
DocumentRoot "/usr/local/apache2/htdocs/www1/"
ServerName www.test1.com
# ServerAlias www.dummy-host.example.com
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>
mpm的參數(shù)設(shè)置可能不對(duì),可自行百度進(jìn)行相應(yīng)設(shè)置
[root@VM_38_201_centos ~]# vim /usr/local/apache2/conf/extra/httpd-mpm.conf
#prefork MPM
<IfModule mpm_prefork_module>
#啟動(dòng)的工作進(jìn)程數(shù) 企業(yè)中一般配置8/10/16 不會(huì)太(默認(rèn)初始化生成數(shù)量)
StartServers 8
#最多同時(shí)xx進(jìn)程,一般與MaxClients相對(duì)應(yīng)或者大于MaxClients
MinSpareServers 10000
#最小空閑進(jìn)程
MaxSpareServers 25
#最大空閑進(jìn)程
MaxRequestWorkers 75
#最大支持多少個(gè)客戶端訪問(wèn)(最大工作進(jìn)程,每秒處理數(shù)量)
MaxClients 1000
#每個(gè)進(jìn)程處理的最大請(qǐng)求數(shù)(當(dāng)達(dá)到設(shè)置的數(shù)量后該線程會(huì)被kil掉,0代表永生)
MaxConnectionsPerChild 10000
</IfModule>
#worker
<IfModule mpm_worker_module>
StartServers 8
# MaxClients 4000
MinSpareThreads 25
MaxSpareThreads 75
#每個(gè)進(jìn)程有多少線程數(shù)
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 10000
#</IfModule>
參考文獻(xiàn):
http://www.178linux.com/84075
http://www.linuxidc.com/Linux/2017-10/148076.htm
推薦文章:
CentOS上安裝LAMP之Apache環(huán)境及安裝過(guò)程報(bào)錯(cuò)解決方案(純凈系統(tǒng)環(huán)境)http://blog.csdn.net/zhangatle/article/details/77416996