Apache 設定虛擬主機的三種方法
(推薦教學:nginx教學)
記事本開啟httpd. conf文件,該文件在apache的目錄下,如: D:\AppServ\Apache2.2\conf,修改如下兩處:
LoadModule vhost_alias_module modules/mod_vhost_alias.so //去掉前面的#,意思是启用apache的虚拟主机功能,第203行 Include conf/extra/httpd-vhosts.conf //去掉#的意思是从httpd-vhosts.conf这个文件导入虚拟主机配置
配置虛擬主機後不能用localhost 存取
只要把httpd.conf檔的ServerName localhost:80 那行註解掉就可以了
一、基於IP
假設伺服器有個IP位址為192.168.1.10,使用ifconfig在同一個網路介面eth0上綁定3個IP:
[root@localhost root]# ifconfig eth0:1 192.168.1.11 [root@localhost root]# ifconfig eth0:2 192.168.1.12 [root@localhost root]# ifconfig eth0:3 192.168.1.13
修改hosts文件,新增三個網域與之一一對應:
192.168.1.11 www.test1.com 192.168.1.12 www.test2.com 192.168.1.13 www.test3.com
建立虛擬主機存放網頁的根目錄,如在/www目錄下建立test1、test2、test3資料夾,其中分別存放1.html、2.html、3.html
/www/test1/1.html /www/test2/2.html /www/test3/3.html
在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下設定:
<VirtualHost 192.168.1.11:80> ServerName www.test1.com DocumentRoot /www/test1/ <Directory "/www/test1"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost> <VirtualHost 192.168.1.12:80> ServerName www.test1.com DocumentRoot /www/test2/ <Directory "/www/test2"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost> <VirtualHost 192.168.1.13:80> ServerName www.test1.com DocumentRoot /www/test3/ <Directory "/www/test3"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost>
大功告成,測試下每個虛擬主機,分別造訪www.test1.com、www.test2.com、www.test3.com
二、基於主機名稱
設定網域名稱映射同一個IP,修改hosts:
127.0.0.1 gm.998gx.com 127.0.0.1 www.998gx.com 127.0.0.1 r.998gx.com 127.0.0.1 localhost
跟上面一樣,建立虛擬主機存放網頁的根目錄
/www/dxGM/index.php /www/dxskadmin/index.php /www/88qp/index.php
在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入以下設定:
為了使用網域名稱的虛擬主機,必須指定伺服器IP位址(和可能的連接埠)來使主機接受請求。可以用NameVirtualHost指令來進行設定。如果伺服器上所有的IP位址都會用到, 你可以用*當NameVirtualHost的參數。在NameVirtualHost指令中指明IP位址並不會使伺服器自動偵聽那個IP位址。這裡設定的IP位址必須對應伺服器上的一個網路介面。
下一步是為你建立的每個虛擬主機設定配置區塊,的參數與NameVirtualHost指令的參數是一樣的。每個定義區塊中,至少都會有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的內容存在於檔案系統的什麼地方。
如果在現有的web伺服器上增加虛擬主機,必須也為現存的主機建造定義區塊。其中ServerName和DocumentRoot所包含的內容應該與全域的保持一致,並且要放在設定檔的最前面,扮演預設主機的角色。
<VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW/dxGM" ServerName gm.998gx.com </VirtualHost> <VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW/88qp" ServerName www.998gx.com </VirtualHost> <VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW/dxskadmin" ServerName r.998gx.com </VirtualHost> <VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW" ServerName localhost </VirtualHost>
測試下每個虛擬主機,分別造訪gm.998gx.com、www.998gx.com、r.998gx.com
三、基於連接埠
修改設定檔
將原來的
Listen 80
改為
Listen 80
Listen 8080
#更改虛擬主機設定:
<VirtualHost 192.168.1.10:80> DocumentRoot /var/www/test1/ ServerName www.test1.com </VirtualHost> <VirtualHost 192.168.1.10:8080> DocumentRoot /var/www/test2 ServerName www.test2.com </VirtualHost>
以上是配置apache虛擬主機的三種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

Apache 無法啟動,原因可能有以下幾點:配置文件語法錯誤。與其他應用程序端口衝突。權限問題。內存不足。進程死鎖。守護進程故障。 SELinux 權限問題。防火牆問題。軟件衝突。

要在 Apache 中設置 CGI 目錄,需要執行以下步驟:創建 CGI 目錄,如 "cgi-bin",並授予 Apache 寫入權限。在 Apache 配置文件中添加 "ScriptAlias" 指令塊,將 CGI 目錄映射到 "/cgi-bin" URL。重啟 Apache。

有 3 種方法可在 Apache 服務器上查看版本:通過命令行(apachectl -v 或 apache2ctl -v)、檢查服務器狀態頁(http://<服務器IP或域名>/server-status)或查看 Apache 配置文件(ServerVersion: Apache/<版本號>)。

要重啟 Apache 服務器,請按照以下步驟操作:Linux/macOS:運行 sudo systemctl restart apache2。 Windows:運行 net stop Apache2.4 然後 net start Apache2.4。運行 netstat -a | findstr 80 檢查服務器狀態。

要從 Apache 中刪除多餘的 ServerName 指令,可以採取以下步驟:識別並刪除多餘的 ServerName 指令。重新啟動 Apache 使更改生效。檢查配置文件驗證更改。測試服務器確保問題已解決。

啟動 Apache 的步驟如下:安裝 Apache(命令:sudo apt-get install apache2 或從官網下載)啟動 Apache(Linux:sudo systemctl start apache2;Windows:右鍵“Apache2.4”服務並選擇“啟動”)檢查是否已啟動(Linux:sudo systemctl status apache2;Windows:查看服務管理器中“Apache2.4”服務的狀態)啟用開機自動啟動(可選,Linux:sudo systemctl

Apache 連接數據庫需要以下步驟:安裝數據庫驅動程序。配置 web.xml 文件以創建連接池。創建 JDBC 數據源,指定連接設置。從 Java 代碼中使用 JDBC API 訪問數據庫,包括獲取連接、創建語句、綁定參數、執行查詢或更新以及處理結果。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載
最受歡迎的的開源編輯器