Apache 服務配置
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 服務配置