您好,登錄后才能下訂單哦!
一、Apache Web服務器簡介
1.Apache Web是目前世界使用排名第一的Web服務器軟件。Apache服務器的特點是使用簡單、速度快、性能穩定、可以作為負載均衡及代理服務器來使用。
2.在企業中Apache最常用的處理模塊為Prefork MPM和Worker MPM,Event MPM很少用,默認Apache處理模塊為Prefork MPM方式。
3.Prefork MPM工作原理:控制進程Master在最初建立"StartServers"個進程后,為了滿足MinSpareServers設置的最小空閑進程,所以需創建第一個空閑進程,等待一秒鐘,繼續創建兩個,依次按照遞增指數級創建進程數,最多每秒同時創建32個空閑進程,直到滿足至少有兩MinSpareServers設置的值為止。Apache的預派生模式不必請求到來時再產生新的進程,從而減少了系統開銷以增加性能,該引擎是基于多進程方式提供對外服務,每個進程只有一個線程,每個進程在某個確定的時間只能維持一個連接,優點是穩定,但每個進程占內存也相對較高。
4.Worker MPM工作原理:控制進程Master在最初建立"StartServers"個進程,每個進程會創建ThreadsPerChild設置的線程數,多個線程共享該進程內存空間,同時每個線程獨立處理用戶的Http請求。該模式使用多個進程,每個進程包括多個線程,每個線程在某個確定的時間只能維持一個連接,內存占用量比較小,適合大開發、高流量的Web服務器。Worker MPM缺點是一個線程崩潰,整個進程就會連同其任何線程一起掛掉。
二、Apache Web服務器安裝
[root@localhost tools]# wget http://archive.apache.org/dist/httpd/httpd-2.4.29.tar.gz
[root@localhost tools]# tar -xzvf? httpd-2.4.29.tar.gz?
[root@localhost tools]# cd httpd-2.4.29
[root@localhost httpd-2.4.29]# yum install apr apr-devel apr-util apr-util-devel -y
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/apache2/ --enable-rewrite --enable-so
[root@localhost httpd-2.4.29]# make? ? ?# 編譯
[root@localhost httpd-2.4.29]# make install? ?#安裝
[root@localhost local]# /usr/local/apache2/bin/apachectl? start? ??
測試:
三、Apache虛擬主機企業應用
Web虛擬主機配置方法有以下三種:
1.基于單IP多個socket端口
2.基于多IP地址一個端口
3.基于單IP一個端口不同域名。
實戰步驟如下:
[root@localhost conf]# pwd
/usr/local/apache2/conf
[root@localhost conf]# vim httpd.conf
......
# Virtual hosts
Include conf/extra/httpd-vhosts.conf? #去掉前面的#號即可
......
[root@localhost extra]# pwd
/usr/local/apache2/conf/extra
[root@localhost extra]# vim httpd-vhosts.conf
<VirtualHost *:80>
??? ServerAdmin webmaster@dummy-host.example.com
??? DocumentRoot "/usr/local/apache2//docs/dummy-host.example.com"
??? ServerName dummy-host.example.com
??? ServerAlias www.dummy-host.example.com
??? ErrorLog "logs/dummy-host.example.com-error_log"
??? CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
??? ServerAdmin webmaster@dummy-host2.example.com
??? DocumentRoot "/usr/local/apache2//docs/dummy-host2.example.com"
??? ServerName dummy-host2.example.com
??? ErrorLog "logs/dummy-host2.example.com-error_log"
??? CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
創建www.sky9890.com及www.sky9899.com發布目錄,重啟Apache服務,并分別創建index.html頁面,命令如下:
[root@localhost extra]# mkdir -p /usr/local/apache2/htdocs/{sky9890,sky9899}/
[root@localhost extra]# echo "<h2>www.sky9890.com Pages</h2>">/usr/local/apache2/htdocs/sky9890/index.html
[root@localhost extra]# echo "<h2>www.sky9899.com Pages</h2>">/usr/local/apache2/htdocs/sky9899/index.html
修改配置文件:[root@localhost extra]# vim httpd-vhosts.conf
<VirtualHost *:80>? #虛擬機80端口
?ServerAdmin 553752017@qq.com??? #管理員郵箱
?DocumentRoot "/usr/local/apache2/htdocs/sky9890"? #虛擬主機發布目錄。
?ServerName www.sky9890.com ? ? ? #虛擬主機完整域名
?# ServerAlias www.dummy-host.example.com ? #別名
?RewriteCond %{HTTP_HOST} www.sky9890.com? [NC,OR]?? #NC表示不區分大小寫,OR表式或。
?RewriteCond %{HTTP_HOST} www.sky9899.com [NC,OR]
?RewriteCond %{HTTP_HOST} ^sky9899.com [NC,OR]
?RewriteCond %{HTTP_HOST} ^sky9890.com [NC,OR]
?RewriteRule ^/(.*)$ http://www.51cto.com? [L] #L表示最后一條匹配規則,停止匹配后續規則。將www.sky9890.com、www.sky9899.com、sky9899.com、sky9890.com跳轉至www.51cto.com
?ErrorLog "logs/www.sky9890.com_error_log"
?CustomLog "logs/www.sky9890.com_access_logg" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin? 553752017@qq.com
DocumentRoot "/usr/local/apache2/htdocs/sky9899"
ServerName? www.sky9899.com
RewriteCond %{HTTP_HOST} www.sky9890.com? [NC,OR]
RewriteCond %{HTTP_HOST} www.sky9899.com [NC,OR]
RewriteCond %{HTTP_HOST} ^sky9890.com [NC]
RewriteRule ^/(.*)$ http://www.51cto.com? [L]
ErrorLog "logs/www.sky9899.com_error_log"
CustomLog "logs/www.sky9899.com_access_log" common
</VirtualHost>
四、Apache rewrite規則實戰
1.rewrite規則也稱為規則重寫,主要功能實現瀏覽器訪問HTTP URL的跳轉。
2.rewrite規則重寫的用途如下:
1)對搜索引擎優化友好,利于搜索引擎頁面。
2)隱藏網站URL真實地址,瀏覽器顯示更加美觀。
3)網站變更升級,可以基于rewrite臨時重定向到其他頁面。
五、其他配置技能
1)LoadModule rewrite_module modules/mod_rewrite.so? #http.conf配置文件中找到該條并把前面的#號去掉。
2)虛擬主機配置段設置如該指令來開啟rewrite功能:RewriteEngine on
3)AllowOverride None,改成AllowOverride All
4)將rewrite規則要寫入到httpd-vhosts.conf文件中,要寫在<VirtualHost *:80>......</VirtualHost>
5)%{ 兩符號之間是不能有空格的,否則執行無效果。
6)Windows客戶端設置hosts映射,將www.sky9890.com、www.sky9899.com與192.168.153.142進行映射綁定,映射的目的將域名跟IP進行綁定,配置如下:
C:\Windows\System32\drivers\etc\hosts #用記事本打開hosts文件,并添加下列行
192.168.153.142? www.sky9890.com
192.168.153.142? www.sk9899.com
192.168.153.142? sky9890.com
192.168.153.142? sky9899.com
六、測試結果如下:
在瀏覽器中分別輸入上述四個地址,都會自動跳轉到如下界面:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。