Apache服務(wù)器

創(chuàng)新互聯(lián)成立與2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元黑山做網(wǎng)站,已為上家服務(wù),為黑山各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18980820575
1www: world wide web萬(wàn)維網(wǎng)
http協(xié)議:超文本傳輸協(xié)議
HTML語(yǔ)言:超文本標(biāo)識(shí)語(yǔ)言 index.html
2URL:統(tǒng)一資源定位:協(xié)議+域名:端口+網(wǎng)頁(yè)文件名
http://www.baidu.com:80/phpmyadmin/index.php
3搭建www的服務(wù)器的方法
windows IIS + asp + SQLserver
IIS: Internet Information server
Linuxapache+MySQL+php
nginx
相關(guān)文件
apache配置文件
源碼包安裝:/usr/lcoal/apache2/etc/httpd.conf(主配置文件)
/usr/local/apache/etc/extra/*.conf(子配置文件)
rpm包安裝:/etc/httpd/conf/httpd.conf
網(wǎng)頁(yè)保存位置:
源碼包:/usr/local/apache2/htdocs/
rpm包安裝: /var/www/html/
日志保存位置
源碼包:/usr/local/apache2/logs/
rpm包: /var/log/httpd/
配置文件
注意:apache配置文件嚴(yán)格區(qū)分大小寫(xiě)
1針對(duì)主機(jī)環(huán)境的基本配置
ServerRootapache主目錄/usr/local/apache2
Listen監(jiān)聽(tīng)端口:80
LoadModule加載的相關(guān)模塊php5
User
Group用戶(hù)和組
ServerAdmin管理員郵箱
ServerName服務(wù)器名(沒(méi)有域名解析時(shí),使用臨時(shí)解析。默認(rèn)不開(kāi)啟)
ErrorLog "logs/error_log錯(cuò)誤日志
CustomLog "logs/access_log" common正確訪(fǎng)問(wèn)日志
DirectoryIndex index.html index.php默認(rèn)網(wǎng)頁(yè)文件名,優(yōu)先級(jí)順序
Include etc/extra/httpd-vhosts.conf子配置文件中內(nèi)容也會(huì)加載生效
2主頁(yè)目錄及權(quán)限
DocumentRoot "/usr/local/apache2//htdocs"
#網(wǎng)頁(yè)文件存放目錄(默認(rèn))
<Directory "/usr/local/apache2//htdocs">
#定義指定目錄的權(quán)限
Options Indexes FollowSymLinks
#options
None:沒(méi)有任何額外權(quán)限
All:所有權(quán)限
Indexes:瀏覽權(quán)限(當(dāng)此目錄下沒(méi)有默認(rèn)網(wǎng)頁(yè)文件時(shí),顯示目錄內(nèi)容)
FollowSymLinks:準(zhǔn)許軟連接到其他目錄
AllowOverride None
#定義是否允許目錄下.htaccess文件中的權(quán)限生效
None:.htaccess中權(quán)限不生效
All:文件中所有權(quán)限都生效
AuthConfig:文件中,只有網(wǎng)頁(yè)認(rèn)證的權(quán)限生效。
Require all granted訪(fǎng)問(wèn)控制列表
#定義此目錄的允許訪(fǎng)問(wèn)權(quán)限
例1:僅允許IP為192.168.1.1的主機(jī)訪(fǎng)問(wèn)
<RequireAll>
Require all granted
Require ip 192.168.1.1
</RequireAll>
例2:僅允許192.168.0.0/24網(wǎng)絡(luò)的主機(jī)訪(fǎng)問(wèn)
<RequireAll>
Require all granted
Require ip 192.168.1.0/24
</RequireAll>
例3:禁止192.168.1.2的主機(jī)訪(fǎng)問(wèn),其他的都允許訪(fǎng)問(wèn),
<RequireAll>
Require all granted
Require not ip 192.168.1.2
</RequireAll>
例4:允許所有訪(fǎng)問(wèn),
Require all granted
例5:拒絕所有訪(fǎng)問(wèn),
Require all denied
四小實(shí)驗(yàn)
實(shí)驗(yàn)環(huán)境:
使用lamp環(huán)境安裝好的apache進(jìn)行試驗(yàn)
安裝完成后,先啟動(dòng)apache進(jìn)行服務(wù)驗(yàn)證,是否安裝成功,并且主頁(yè)是否可以訪(fǎng)問(wèn)。
注:發(fā)現(xiàn)啟動(dòng)服務(wù)報(bào)錯(cuò):AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
解決辦法:打開(kāi)主配置文件httpd.conf
搜索ServerName (約在200行左右)
修改為 ServerName localhost:80(并且去掉前面的#注釋?zhuān)?/p>
實(shí)驗(yàn)一:目錄別名
可以使特定的網(wǎng)站程序不出現(xiàn)在網(wǎng)站根目錄下面,而這樣的話(huà),就可以避免和原來(lái)的程序本身發(fā)生混淆和沖突;縮短網(wǎng)頁(yè)目錄的縱深,減少URL的長(zhǎng)度。
打開(kāi)apache主配置文件
#Include etc//extra/httpd-autoindex.conf (將#號(hào)去掉)
進(jìn)到子配置文件目錄extra下,打開(kāi)httpd-autoindex.conf
仿照例子寫(xiě)一個(gè)別名:
Alias /a/ "/www/a/"#實(shí)際目錄結(jié)束要有/
<Directory "/www/a/">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
在/www/a/目錄下手動(dòng)創(chuàng)建index.html文件
將apache服務(wù)重啟:
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
注:重啟源碼包安裝的apache需要先關(guān)閉,再啟動(dòng)。
驗(yàn)證試驗(yàn)結(jié)果:
打開(kāi)瀏覽器輸入 服務(wù)器IP/a/
實(shí)驗(yàn)二:用戶(hù)認(rèn)證
提高網(wǎng)站安全性,保護(hù)個(gè)別頁(yè)面的信息,限制特定目錄,只有指定用戶(hù)可以訪(fǎng)問(wèn)。
1.打開(kāi)主配置文件在最下面添加:
<Directory "/usr/local/apache2/htdocs/baohu">#被保護(hù)目錄
Options Indexes
AllowOverrideAll #(開(kāi)啟權(quán)限認(rèn)證文件.htaccess)
Require all granted
</Directory>
2.在指定目錄下創(chuàng)建權(quán)限文件:
cd /usr/local/apache2/htdocs/baohu
Vi .htaccess #添加下面的內(nèi)容
AuthName "50 docs"
#提示信息
AuthType basic
#加密類(lèi)型
AuthUserFile /usr/local/apache2/htdocs/baohu/apache.passwd
#密碼文件,文件名自定義。(但是路徑要對(duì),使用絕對(duì)路徑)
require valid-user
#允許密碼文件中所有用戶(hù)訪(fǎng)問(wèn)
3.建立密碼文件,加入允許訪(fǎng)問(wèn)的用戶(hù)。(此用戶(hù)和系統(tǒng)用戶(hù)無(wú)關(guān))
htpasswd -c /usr/local/apache2/htdocs/baohu/apache.passwd test1
-c 建立密碼文件,只有添加第一個(gè)用戶(hù)時(shí),才能-c
htpasswd -m /usr/local/apache2/htdocs/baohu/apache.passwd test2
-m 再添加更多用戶(hù)時(shí),使用-m 參數(shù)
4.驗(yàn)證訪(fǎng)問(wèn):(自己手動(dòng)去目錄下創(chuàng)建index.html文件)
瀏覽器輸入 服務(wù)器IP/baohu/index.html
實(shí)驗(yàn)三:***虛擬主機(jī)***
虛擬主機(jī)的分類(lèi):
基于IP的虛擬主機(jī):一臺(tái)服務(wù)器,多個(gè)ip,搭建多個(gè)網(wǎng)站
Ifconfig eth0:0 IP #建立網(wǎng)卡子端口
基于端口的虛擬主機(jī):一臺(tái)服務(wù)器,一個(gè)ip,搭建多個(gè)網(wǎng)站,每個(gè)網(wǎng)絡(luò)使用不同端口訪(fǎng)問(wèn)
基于名字的虛擬主機(jī):一臺(tái)服務(wù)器,一個(gè)ip,搭建多個(gè)網(wǎng)站,每個(gè)網(wǎng)站使用不同域名訪(fǎng)問(wèn)
1. 實(shí)驗(yàn)搭建(準(zhǔn)備工作)
a.域名解析:準(zhǔn)備兩個(gè)域名
www.sohu.com
www.sina.com
b.沒(méi)搭建DNS,只能手動(dòng)添加到本地hosts文件內(nèi)進(jìn)行解析
Windows系統(tǒng)中:
C:\WINDOWS\system32\drivers\etc\hosts
Linux系統(tǒng)中:
/etc/hosts
c.網(wǎng)站主頁(yè)目錄規(guī)劃
在//htdocs/目錄下分別創(chuàng)建sohu 和 sina 兩個(gè)目錄
并且在分別在新建目錄內(nèi)創(chuàng)建index.html文件(分別寫(xiě)不一樣的內(nèi)容)
2.實(shí)驗(yàn)流程(修改配置文件)
A.vi /usr/local/apache2/etc/httpd.conf#修改主配置文件開(kāi)啟文件關(guān)聯(lián)
Include etc//extra/httpd-vhosts.conf#此行取消注釋
B.vi /usr/local/apache2/etc/extra/ httpd-vhosts.conf
#添加下方內(nèi)容(添加之前先把原先存在的示例刪除掉)
<Directory "/usr/local/apache2/htdocs/sina">
Options Indexes
AllowOverride None
Require all granted
</Directory>
<Directory "/usr/local/apache2/htdocs/sohu">
Options Indexes
AllowOverride None
Require all granted
</Directory>
<VirtualHost 192.168.150.253>#虛擬主機(jī)標(biāo)簽
ServerAdminwebmaster@sina.com#管理員郵箱
DocumentRoot "/usr/local/apache2/htdocs/sina"#網(wǎng)站主目錄
ServerNamewww.sina.com#完整域名
ErrorLog "logs/sina-error_log"#錯(cuò)誤日志
CustomLog "logs/sina-access_log" common#訪(fǎng)問(wèn)日志
</VirtualHost>
<VirtualHost 192.168.150.253>
ServerAdmin webmaster@sohu.com
DocumentRoot "/usr/local/apache2/htdocs/sohu"
ServerName www.sohu.com
ErrorLog "logs/sohu.com-error_log"
CustomLog "logs/sohu.com-access_log" common
</VirtualHost>
C.重啟服務(wù),驗(yàn)證結(jié)果
Windows 下:瀏覽器下輸入兩個(gè)不同的域名驗(yàn)證網(wǎng)頁(yè)內(nèi)容
Linux下:通過(guò)elinks命令驗(yàn)證:elinks 域名
實(shí)驗(yàn)四:rewrite重寫(xiě)功能
在URL中輸入一個(gè)地址,會(huì)自動(dòng)跳轉(zhuǎn)為另一個(gè),多用于網(wǎng)站更換或者添加新域名。
實(shí)驗(yàn)要求:
A虛擬主機(jī)能正常訪(fǎng)問(wèn)
B打開(kāi)主配置文件開(kāi)啟重寫(xiě)模塊
LoadModule rewrite_module modules/mod_rewrite.so#取消注釋
域名跳轉(zhuǎn)實(shí)驗(yàn):
1.修改虛擬主機(jī)配置文件
vi */extra/httpd-vhosts.conf
<Directory "/usr/local/apache2/htdocs/sina">
Options IndexesFollowSymLinks
AllowOverrideAll
Require all granted
</Directory>
2.創(chuàng)建規(guī)則匹配文件
vi */.htaccess#在指定的網(wǎng)站網(wǎng)頁(yè)目錄下創(chuàng)建
RewriteEngine on
#開(kāi)啟rewrite功能
RewriteCond %{HTTP_HOST} www.sina.com
#把以www.sina.com開(kāi)頭的內(nèi)容賦值給HTTP_HOST變量
RewriteRule .* http://www.sohu.com
#.* 輸入任何地址,都跳轉(zhuǎn)到http://www.sohu.com
3.重啟服務(wù)器,進(jìn)行訪(fǎng)問(wèn)驗(yàn)證
靜態(tài)向動(dòng)態(tài)跳轉(zhuǎn):
1.修改虛擬主機(jī)配置文件
vi */extra/httpd-vhosts.conf
<Directory "/usr/local/apache2/htdocs/sohu">
Options IndexesFollowSymLinks
AllowOverrideAll
Require all granted
</Directory>
2.創(chuàng)建規(guī)則文件
vi */.htaccess
RewriteEngine on
RewriteRule index(\d+).html index.php?id=$1
#輸入index(數(shù)值).html時(shí),跳轉(zhuǎn)到index.php文件
3.重啟服務(wù),進(jìn)行訪(fǎng)問(wèn)驗(yàn)證
驗(yàn)證方式:在*/htdocs/sohu/目錄下新建index.php文件
訪(fǎng)問(wèn)www.sohu.com/index(數(shù)值).html 看訪(fǎng)問(wèn)的是否是你的index.php的網(wǎng)頁(yè)
注:靜態(tài)網(wǎng)頁(yè)向動(dòng)態(tài)網(wǎng)頁(yè)跳轉(zhuǎn)這個(gè)實(shí)驗(yàn),只有完整的lamp環(huán)境下才能訪(fǎng)問(wèn)。
六 常用子配置文件
httpd-default.conf #apache線(xiàn)程控制,必須開(kāi)啟
Timeout 300 #超時(shí)時(shí)間
KeepAlive On
#開(kāi)啟線(xiàn)程控制(不開(kāi)啟的話(huà)用戶(hù)訪(fǎng)問(wèn)頁(yè)面會(huì)產(chǎn)生一個(gè)進(jìn)程,訪(fǎng)問(wèn)其他頁(yè)面會(huì)產(chǎn)生另一個(gè)進(jìn)程,這樣的話(huà)一個(gè)用戶(hù)會(huì)產(chǎn)生好多個(gè)進(jìn)程,會(huì)降低apache性能。開(kāi)啟此項(xiàng),當(dāng)用戶(hù)訪(fǎng)問(wèn)網(wǎng)站時(shí)會(huì)產(chǎn)生一個(gè)進(jìn)程,打開(kāi)其他頁(yè)面時(shí)會(huì)產(chǎn)生線(xiàn)程,保證了一個(gè)用戶(hù)只產(chǎn)生一個(gè)進(jìn)程。網(wǎng)站此項(xiàng)功能必須開(kāi)啟。)
MaxKeepAliveRequests 100 #最大線(xiàn)程連接數(shù)
httpd-info.conf #apache狀態(tài)統(tǒng)計(jì)
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from .example.com
</Location>
#通過(guò)訪(fǎng)問(wèn)www.domain.com/server-status可以查看apache狀態(tài)。如果頁(yè)面顯示not found 則需要修改目錄權(quán)限,在Deny from all下加上allow from ip(允許的ip)。
httpd-manual.conf #apache幫助文檔
通過(guò)訪(fǎng)問(wèn)www.domain.com/manual 查看apache幫助文檔,一般為英文,沒(méi)用,可以到apache官網(wǎng)下載幫助文檔。
httpd-languages.conf #語(yǔ)言編碼
要使其生效需要在主配置文件中打開(kāi),如果中文亂碼不是瀏覽器編碼的原因可能是此配置文件注釋沒(méi)打開(kāi)。
名稱(chēng)欄目:apche服務(wù)器
本文網(wǎng)址:http://chinadenli.net/article6/jpssog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、企業(yè)網(wǎng)站制作、虛擬主機(jī)、標(biāo)簽優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)