米利唐_后腰_乌克兰足球超级联赛_中国竞彩欧赔 - 足球竞彩分析

集團官網
  • 國家級全民數字素養與技能培訓基地
  • 河南省第一批產教融合型企業建設培育單位
  • 鄭州市數字技能人才(碼農)培養評價聯盟

怎么為Web服務器配置虛擬主機?

編輯:云和數據 日期:2023-05-23 10:14

在安裝了Web服務器Apache后,為了更好地使用Apache,還需要學習如何對Apache進行配置。在項目開發中,經常需要配置虛擬主機和訪問權限,下面對Web服務器的配置進行詳細講解。

1.配置虛擬主機

在默認情況下,Apache只有Chwebapache2.4hndoes這一個站點目錄,而在學習的過程中,可能需要用到多個站點。為此,可以利用Apoche的虛擬主機功能來實現多個站點。

Apache的默認站點使用IP地址127.0.0.1或主機名localhost來訪問,這兩種方式訪問到的站點目錄都是C:webapache2.4htdoes。而通過虛擬主機,可以實現用自定義的域名來訪問,并且可以為不同的域名指定不同的站點目錄。

由于申請一個真實的域名需要一定的費用,為了便于開發,可以通過更改hosts文件來實現將任意域名解析到本地。在Windows系統中以管理員身份打開命令行,然后執行如下命令,調用記事本來編輯hosts文件。

notepad?C:?Windowa\Systen32\drivers\etc\hosts

將hosts文件打開后,在該文件中配置IP地址和域名的映射關系,具體如下。

127.0.0.1?ww.php.test127.0.0.1?vww.adnin.teat

上述配置表示當訪間www.php.test或www.admin.test這兩個域名時,自動解析到127.0.0.1這個IP地址上。經過上述配置之后,就可以在瀏覽器上直接輸人域名來訪問本機的Web服務器了。需要注意的是,這種域名解析方式只對本機有效。

通過虛擬主機可以在一臺服務器上部署多個網站,雖然服務器的IP地址是相同的,但是當用戶使用不同以名訪問時,訪問到的不是相同的網站

下面開始學習如何配置Apache虛擬主機,具體操作步驟如下。

(1)修改 httpl.conf文件,啟用虛擬主機配置文件。

在Apache的配置文件httpd.conf 中找到如下配置,刪除“#”,取消注釋即可。

#Include?conf/extra/httpd-vhosts.conf

在上述配置中,lnclode表示從另一個文件中加載配置,后面是配置文件的路徑。

(2)在htpd-vhosts.cof配置文件中進行虛擬主機的配置。

打開confestra/httpd-vhosts.conf配置文件,將文件中原有的配置刪除或全部使用“#”進行注釋,然后重新編寫配置,具體如下:

????DocumentRoot?"C:/veb/apache2.4/htdoca"????ServerName?localhoat????DocumentRoot?"C:/web/apache2.4/htdocs/vnnv.php.test"????ServerNane?ww.php.test

上述配置實現了兩個虛擬主機,分別是localhost和www.php.test,并且這兩個虛擬主機的站點目錄被指定在不同的目錄下。“*:80”表示任意IP的80端口,“DocumentRoot”表示文檔根目錄,“ServerName”表示服務器名。

(3)在Apache的hadoes目錄中創建www.php.test目錄,并在這個目錄中放一個簡單的網頁,將文件命名為index.html.網頁內容為“Welcome www.php.dest”。

(4)在修改了Apache配置文件后,重啟Apache服務,使配置文件生效。

(5)在瀏覽器中訪問這兩個虛擬主機,會看到兩個不同的網站,如圖1所示。

訪問虛擬主機
圖1 訪問虛擬主機

訪問權限控制

在Apache的主配置文件hupd.conf中,默認已經添加了一些目錄的配置,這些配置寫在指令中。為了便于查看,下面將這部分配置摘取出來。

#?第1處配置????AllowOverride?none????Require?all?denLed#第2處配置????Options?Indexes?FollowSymLinks????AllowOverride?None????Roquire?all?granted

在上述代碼中,一共有兩處目錄配置,第1處是根目錄配置,第2處是針對Apache安裝目錄下的htdoes目錄的配置。當用戶訪問某個目錄時,Apache會查找該目錄的配置和所有上級目錄的配置,該目錄的配置會覆蓋上級目錄的配置。

第1處配置中的Reqpuire all denied表示阻止所有的訪問,第2處配置中的 Require all granted表示允許所有的訪問。此外,還可以配置為Require local,表示只允許本地訪問。

當用戶訪問的是htdoes 目錄時,第2處配置中的 Require all granted 會覆蓋第1處的Reqpuire all denied,所以htdoes 目錄允許訪問。而當用戶訪問的是其他目錄時,由于其他目錄沒有配置 Require allgranted,會被第1處配置阻止訪問。

在配置虛擬主機時,將wwwphp.test的站點目錄放在了htdoes目錄中,因此該站點不需要配置訪問權限就可以訪問。

AlowOvemride mone表示不飾取分布式配置文件。分布式配置文件是指分布在每個目錄下的配置文件,文件名為“.htaccess”。如果允許Apache讀取分布式配置文件,可以將其修改為AllowOveride All。Apache在讀取分布式配置文件時,會從磁盤根目錄一直查找到當前訪問的目錄,如果這些目錄下有“htaccess”文件就會被讀取,子目錄的配置會覆蓋上級目錄的配置。分布式配置文件的優點在于,修改了配置后,不需要重啟Apache服務就能生效;缺點在于,讀取這些文件增加了服務器的負擔,會降低性能。

Options lndeses表示啟用Apache的目錄瀏覽功能,當該功能啟用時,如果用戶訪問的目錄中沒有默認索引頁(Directorylndex)指定的文件,就會顯示文件列表。在安裝PHP時,已經對Directorylndex進行了配置,Apache會在當前訪問的目錄下依次查找index.php和index.himl,如果兩個文件都不存在,就會開啟文件列表。

開啟文件列表可以方便查看服務器上的文件,但會降低服務器的安全性,導致服務器上的重要文件被隨意訪問。如果需要關閉這個功能,可以將“Indexes”修改為“-lndexes”。

在Opions lndexes后面還有一個FollowSymLinks,它表示是否允許使用符號鏈接。符號鏈接在Limux系統中比較常見,可以根據實際需要進行配置。

????DocunentRoot?"C:/web/www/wnw.adnin.test"????ServerName?www.adnin.test????Options?-indexes????AllowOverride?All????Require?local

(2)創建Cloweblowwwlwww.admnin.test目錄,然后在該目錄下創建index.html文件,文件的內容為“Weloome

index.html”。

(3)在瀏覽器中訪問“www.admin.lesi”進行測試,效果如圖2所示。

測試訪問權限
圖2 測試訪問權限

從圖2可以看出,Apache沒有顯示文件列表,返回了Forbidkdlen錯誤提示。

(5)在sub目錄下創建“htaccess”文件,開啟目錄瀏覽功能,具體代碼如下。

Options?indexes

目錄瀏覽效果
圖3 目錄瀏覽效果

(6)在瀏覽器中刷新,目錄瀏覽效果如圖3所示。

從圖3可以看出,Apache顯示了當前目錄下的文件和子目錄(這些文件需要讀者自行準備),說明分布式配置文件已經生效了。需要說明的是,“htaecess”文件也在該目錄下,但Apache為了安全性、不會將該文件顯示出來,也不允許通過URL訪問。

相關內容

搶先一步 鴻蒙(HarmonyOS)應用開發者高級認證 免費考! 適合人群計算機相關專業在校生(技師、中職、高職、本科、研究生)對鴻蒙(HarmonyOS)有興趣的非計算機相關專業在校生目前正在從事移動應用的開發者目前正在從事計算機行業相關的人計算機專業高校老師所有對鴻蒙(HarmonyOS)有興趣的人 培訓方案掌握鴻蒙的核心概念和端云一體化開發、... 什么是Java的多態性(polymorphism)?它有哪些不同的形式? 多態性是Java面向對象編程的一個重要概念,它允許不同的對象以一致的方式響應同一個方法調用,具體表現為對象在運行時可以表現出多個不同的形態。多態性主要有兩種不同的形式:編譯時多態性(靜態多態性)和運行時多態性(動態多態性)。1. 編譯時多態性(靜態多態性):   ... 如何學習和搭建Hadoop開發環境? Hadoop是大數據處理領域的重要平臺,能夠處理和分析大量數據。為了有效地利用Hadoop,我們需要學習其基礎知識,并正確搭建開發環境。下面是詳細的學習和搭建指南。一、學習Hadoop基礎掌握基礎概念和原理Hadoop主要由HDFS和MapReduce兩部分組成。HDFS是分布式文件系統,Ma... UI 設計學習如何進階成為高手 我總結了六種方法,幫助你走出舒適區,提高技能,成長為自信且經驗豐富的UI設計高手一位經驗豐富的 UI 設計師,往往十分看中應用程序界面的吸引力和視覺刺激,確保滿足用戶期望和需求。但是,如果你已經在 UI 設計圈摸爬滾打多年,仍然沒有出色的作品,那你極有可能是因為陷入了一個舒適圈,UI技能一直原... 在Java中Executor和Executors的區別? 在Java中,Executor和Executors都與線程池和并發執行有關,但它們是不同的概念和類。1.ExecutorExecutor是一個接口,位于java.util.concurrent包中,用于表示一個執行任務的執行器。它只定義了一個方法:void execute(Runnable c... String類型的常見命令有哪些? String類型,也就是字符串類型,是Redis中最簡單的存儲類型。其value是字符串,不過根據字符串的格式不同,又可以分為3類:string是普通字符串,int整數類型,可以做自增、自減操作,float浮點類型,可以做自增、自減操作。String的常見命令有:SET:添加或者修改已經存在的...