1. 程式人生 > >Apache 服務配置

Apache 服務配置

http服務

Apache

Apache的三種工作模式(服務器響應客戶端的連接方式)

prefork MPM

(1)對每個客戶端的連接,服務器端開啟一個獨立的進程做響應

(2)適用於少量點擊,後臺程序較多

worker MPM

(1)Apache的主程序,開啟多個進程響應客戶,進程衍生出多個線程,線程對應客戶連接

(2)適用於點擊量較大,並發量多的站點

event MPM

(1)針對不同的用戶登錄開啟不同的進程,由進程衍生出多個線程,線程對應客戶的連接

(2)用戶登錄和權限設置


實驗環境:DNS10.2 網站10.6 Linux客戶端10.10 windows客戶端10.11


實驗:

1、安裝Apache程序包:httpd


2、設置網站的工作模式

vim /etc/httpd/conf.modules.d/00-mpm.conf


主配置文件

vim /etc/httpd/conf/httpd.conf


Serverroot /etc/httpd 該服務的配置文件的存放路徑

ServerAdmin 該站點的管理員郵箱

listen 80 指定網站的服務端口

Documentroot 指定主頁文件的存放路徑

Directoryindex 指定主頁文件名

Addefaultchar set UTF-8 設置網站的編碼格式

user Apache 客戶端訪問時以Apache的身份來訪問服務器

group Apache 安裝完軟件後自動創建Apache和Apache組

Servername 指定網站的FQDN和端口


3、啟動服務命令

#systemctl restart httpd graceful 優雅的重啟

#systemctl enable httpd

#systemctl status httpd


4、設置主頁配置文件

cd /var/www/html


echo "www.baidu.com" > index.html


5、Linux客戶端(字符界面)

安裝程序包elinks lynx

#links http://server_ip或FQDN (FQDN需要借助DNS服務器解析DNS)


實驗 一 131行

修改配置文件 vim /etc/httpd/conf/httpd.conf

【訪問控制:指定哪些客戶端能訪問服務器】


7.0版本

<Directory "/var/www/html">

<requireall>

Require all granted 允許所有客戶端訪問

Require all denied 拒絕所有客戶端訪問

Requireip 192.168.10.10 只允許10.10客戶端訪問

Require not ip 192.168.10.11 只拒絕10.11客戶端訪問

Require ip 192.168.10.0/24 只允許10.0段客戶端訪問

Require not ip 192.168.10.0/24 只拒絕10.0段客戶端訪問

</requireall>

</Directory>

若為拒絕的,即:··not ip:··

要在前面加<requireall> 後加</requireall>


7.0以前版本(7.0也支持)

order deny,allow 指定讀取規則的順序,後讀覆蓋先讀

allow from all 允許所有的客戶端進行訪問 192.168.10.10

deny from all


實驗 二 131行

修改配置文件 vim /etc/httpd/conf/httpd.conf

【身份驗證:用戶登錄後再打開頁面】


vim /etc/httpd/conf/httpd.conf

找到<Directory "/var/www/html">

添加

authtype basic 指定使用基本的驗證方式

authname "welcome to baidu" 設置提示信息

authuserfile "/etc/httpd/userlist" 指定用戶列表存放路徑及文件名


<requireall>

require valid-user 允許所有用戶在列表中的用戶登錄訪問

require user lisa 只允許lisa訪問

require not user snow 只拒絕snow訪問

</requireall>

</Directory>

制作用戶列表

htpasswd -c /etc/httpd/userlist 第一次添加新用戶名

htpasswd /etc/httpd/userlist 用戶名


實驗 三 #151

修改配置文件 vim /etc/httpd/conf/httpd.conf

AllowOverride none 遵守主配置文件的設置(訪問控制和身份驗證)

AllowOverride all 則不遵守主配置文件,遵守本目錄下的.htaccess文件設置


配置文件路徑vim /var/www/html/.htaccess


order deny,allow

allow from 192.168.10.10

deny from all

authtype basic

authname "www.baidu.com"

authuserfile /etc/httpd/userlist

require valid-user


[註]用戶登錄站點,將遵守訪問控制和身份驗證的雙重限制


實驗 四 144行


【瀏覽權限:在主頁文件存放目錄中沒有主頁文件,加入瀏覽權限顯示目錄下的所有內容】

Options Indexes(瀏覽權限) FollowSymLinks(允許利用軟鏈接創建一個虛擬目錄)


#mkdir /var/www/html/abc

#echo "www.abc.baidu.com" > index


【虛擬目錄】

#cd /var/www/html

#ln -s /var varinfo 原文件 鏈接文件名


實驗 五


【虛擬主機:在一臺服務器上搭建多個站點】

基於FQDN訪問時需要借助DNS的輔助

基於IP地址給網卡設置多個ip,讓不同的站點工作在不同的ip

基於端口讓不同的站點工作在不同的端口上


基於FQDN(全程域名)


vim /etc/httpd/conf/httpd.conf


在最下面一行添加

namevirtualhost 192.168.10.6 指定虛擬主機業務的服務網卡

<virtualhost 192.168.10.6:80> 指定虛擬主機工作的IP地址和端口

documentroot /var/www/html/sina 指定主頁文件的存放路徑

servername www.sina.com 指定站點的FQDN

</virtualhost>


namevirtualhost 192.168.10.6

<virtualhost 192.168.10.6:80>

documentroot /var/www/html/sohu

servername www.sohu.com

</virtualhost>

保存退出



新建主頁文件目錄路徑

#mkdir /var/www/html/sina /var/www/html/sohu


#echo "www.sina.com" > /var/www/html/sina/index.html

#echo "www.sohu.com" > /var/www/html/sohu/index.html


DNS服務器設置

新建sina和sohu區域

新建區域文件


[註]若設置了虛擬主機,原站點將不可用


Apache 服務配置