1.1 apache簡介
apache當前全世界排名點擊這裏
1.1.1 當前互聯網主流web服務說明
靜態服務
apache —>中小型靜態web服務的主流,web服務器中的老大哥
nginx —>大型新興網站靜態web服務主流,web服務器中的出生牛犢
lighttpd —>靜態web服務不溫不火,逐漸被淘汰的意味,社區不活躍,靜態效率很高
動態服務
IIS —>微軟的web服務器(asp,aspx)
tomcat —>中小型企業動態web服務主流,互聯網java容器主流(jsp,do)
resin —>大型動態web服務器主流,互聯網java容器主流(jsp,do)
php(fcgi) —>大中小網站,php程序的解析容器
配合apache,php不是守護進程,而是mod_php5.so(module)
配合nginx,lighttpd,php守護進程模式,FCGI模式
1.1.2 apache介紹
- Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,是目前世界上使用最廣泛的一種web server,它以跨平臺,高效和穩定而聞名,可以運行在幾乎所有廣泛使用的計算機平臺上。Apache的特點是簡單、速度快、性能穩定,並可做代理服務器來使用。
- Apache是用C語言開發的基於模塊化設計的web應用,總體上看起來代碼的可讀性高於php代碼,它的核心代碼並不多,大多數的功能都被分割到各種模塊中,各個模塊在系統啓動時按需載入。
- 支持SSL技術,支持多個虛擬主機。Apache是以進程的Prefork模式(還有基於線程的Worker模式)爲基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加服務器或擴充羣集節點而不是增加處理器
1.1.3 apahce的特點及應用場合
1.1.3.1 apahce的特點
- 功能強大,
- 配置簡單,
- 速度快,
- 應用廣泛,
- 性能穩定可靠,
- 並可做代理服務器或負載均衡來使用
1.1.3.2 apache的應用場合
- 使用apache運行靜態html網頁,圖片(處理靜態小文件能力不及nginx)
- 使用apache結合php引擎運行php,perl等程序,LAMP被稱爲經典組合
- 使用apache結合tomcat/redis運行jsp,java等程序,成爲中小企業的首選
- 使用apache做代理,負載均衡,rewrite規則過濾等待
環境:
系統環境: | CentOS Linux release 7.7.1908 |
---|---|
apahce版本 | httpd-2.2.9.tar.gz |
部署安裝
1.查看
rpm -qa | grep httpd
#如果有卸載
rpm -e httpd --nodeps
2.安裝依賴包
yum -y install gcc gcc-c++ apr apr-util pcre-devel
3.源碼安裝
1.解壓
tar zxf httpd-2.2.9.tar.gz
2.進入解壓後的文件
cd httpd-2.2.9/
3.配置
根據服務器的實際需要,可以靈活設置不同的定製選項,如指定路徑等
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-charset-lite
選項 | 作用 |
---|---|
–prefix | 指定將httpd服務程序安裝到哪個目錄中 |
–enable-so | 啓用動態加載模塊支持。使httpd具有進一步擴展的功能 |
–enable-rewrite: | 啓用網頁地址重寫功能,用於網站優化以及目錄遷移維護。 |
–enable-charsset-lite: | 啓用字符集支持。以便支持使用各種字符集編碼的網頁。 |
–enable-cgi: | 啓用cgi腳本程序支持,便於擴展網站的應用訪問能力。 |
4.編譯
make
5.編譯安裝
make install
6.確認安裝結果
ls /usr/local/httpd/
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
目錄 | 解釋 |
---|---|
bin: | 存放httpd服務的各種執行文件,如服務控制工具apachectl等; |
conf: | 存放httpd服務的各種配置文件,如主配置文件httpd.conf; |
htdocs: | 存放網頁文檔,如首頁index.html; |
logs: | 存放httpd服務的日誌文件; |
modules: | 存放httpd服務的各種模塊文件。 |
7.優化執行路徑
ln -s /usr/local/httpd/bin/* /usr/local/bin/
8.查看httpd的安裝版本信息
httpd -v
9.添加httpd系統服務
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
#!/bin/sh
#添加兩行
#chkconfig: 35 85 21
#description:apache is good
#chkconfig: 35 85 21 //服務識別參數,在級別3,5中啓動;啓動和關閉優先級分別爲85和21。
10.添加爲開機啓動
systemctl enable httpd
11.啓動apache
systemctl start httpd
12.查看是否成功啓動
netstat -ntlp | grep 80