配置虛擬主機的指令是(簡述實現(xiàn)虛擬主機的方式)
本文目錄一覽:
- 1、基于apache怎么配置虛擬主機
- 2、每個虛擬主機必須設(shè)置的指令塊是
- 3、如何配置基于IP地址的虛擬主機
- 4、如何在Debian 10上安裝Apache并設(shè)置虛擬主機
- 5、跟我學Nginx,server 配置塊介紹
- 6、linux操作系統(tǒng)Apache配置虛擬主機
基于apache怎么配置虛擬主機
Apache 配置虛擬主機三種方式
一、基于IP
1. 假設(shè)服務器有個IP地址為192.168.1.10,使用ifconfig在同一個網(wǎng)絡接口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
2. 修改hosts文件,添加三個域名與之一一對應:
192.168.1.11
192.168.1.12
192.168.1.13
3. 建立虛擬主機存放網(wǎng)頁的根目錄,如在/www目錄下建立test1、test2、test3文件夾,其中分別存放1.html、2.html、3.html
/www/test1/1.html
/www/test2/2.html
/www/test3/3.html
4. 在httpd.conf中將附加配置文件httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下配置:
復制代碼
VirtualHost 192.168.1.11:80
ServerName
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
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
DocumentRoot /www/test3/
Directory "/www/test3"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
/Directory
/VirtualHost
復制代碼
5. 大功告成,測試下每個虛擬主機,分別訪問、、
二、基于主機名
1. 設(shè)置域名映射同一個IP,修改hosts:
192.168.1.10
192.168.1.10
192.168.1.10
2. 跟上面一樣,建立虛擬主機存放網(wǎng)頁的根目錄
/www/test1/1.html
/www/test2/2.html
/www/test3/3.html
3. 在httpd.conf中將附加配置文件httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下配置:
為了使用基于域名的虛擬主機,必須指定服務器IP地址(和可能的端口)來使主機接受請求??梢杂肗ameVirtualHost指令來進行配置。 如果服務器上所有的IP地址都會用到, 你可以用*作為NameVirtualHost的參數(shù)。在NameVirtualHost指令中指明IP地址并不會使服務器自動偵聽那個IP地址。 這里設(shè)定的IP地址必須對應服務器上的一個網(wǎng)絡接口。
下一步就是為你建立的每個虛擬主機設(shè)定VirtualHost配置塊,VirtualHost的參數(shù)與NameVirtualHost指令的參數(shù)是一樣的。每個VirtualHost定義塊中,至少都會有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的內(nèi)容存在于文件系統(tǒng)的什么地方。
如果在現(xiàn)有的web服務器上增加虛擬主機,必須也為現(xiàn)存的主機建造一個VirtualHost定義塊。其中ServerName和DocumentRoot所包含的內(nèi)容應該與全局的保持一致,且要放在配置文件的最前面,扮演默認主機的角色。
復制代碼
NameVirtualHost *:80
VirtualHost *:80
ServerName *
DocumentRoot /www/
/VirtualHost
VirtualHost *:80
ServerName
DocumentRoot /www/test1/
Directory "/www/test1"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerName
DocumentRoot /www/test2/
Directory "/www/test2"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
/VirtualHost
VirtualHost *:80
ServerName
DocumentRoot /www/test3/
Directory "/www/test3"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
/VirtualHost
復制代碼
4. 大功告成,測試下每個虛擬主機,分別訪問、、
三、基于端口
1. 修改配置文件
將原來的
Listen 80
改為
Listen 80
Listen 8080
2. 更改虛擬主機設(shè)置:
復制代碼
VirtualHost 192.168.1.10:80
DocumentRoot /var/www/test1/
ServerName
/VirtualHost
VirtualHost 192.168.1.10:8080
DocumentRoot /var/www/test2
ServerName
/VirtualHost
每個虛擬主機必須設(shè)置的指令塊是
如何在Apache中實現(xiàn)適用于所有虛擬主機的全局?
在父作用域中指定RewriteOptionsInheritDown。
(例如httpd.conf)以在子虛擬主機中應用規(guī)則而不修改它們。這僅適用于RewriteEngine指令設(shè)置為on的虛擬主機:請注意,虛擬主機不會繼承重寫配置。這意味著您需要為要在其中使用重寫規(guī)則的每個虛擬主機指定RewriteEngineon指令。(資源)Apache自2.4.8起支持此功能(原始問題時不可用)。
來自RewriteOptions的文檔:如果啟用此選項,則所有子配置都將繼承當前配置的配置。它等同于在所有子配置中指定有關(guān)如何處理父子關(guān)系的更多詳細信息,請參閱繼承選項??稍贏pacheHTTPServer2.4.8及更高版本中使用。InheritDownBefore,InheritDown類似,但是當前范圍的規(guī)則在任何子范圍中指定的規(guī)則之前應用??稍贏pacheHTTPServer2.4.8及更高版本中使用。IgnoreInherit此選項強制當前配置和子配置忽略將從父指定InheritDown或InheritDownBefore繼承的所有。
默認情況下,虛擬主機不會繼承mod_rewrite配置設(shè)置。要使主服務器設(shè)置應用于虛擬主機,必須在每個部分中放置以下指令:RewriteEngineOnRewriteOptionsInherit。
如何配置基于IP地址的虛擬主機
虛擬主機簡介:1. 把一臺運行在互聯(lián)網(wǎng)上的服務器分成多個虛擬的服務器。2. 每一個虛擬主機都具有獨立的域名和完整的Internet服務器(支持WWW,F(xiàn)TP,E-mail等)。3. 一臺服務器上的不同虛擬主機是各自獨立的,并由用戶自行管理。4. 在外界看來,每一臺虛擬主機和一臺獨立的主機完全相同。 配置參數(shù):VirtualHost *:* ServerAdmin 管理員的E-mail地址 DocumentRoot 虛擬主機的根目錄 ServerName 虛擬主機的名稱端口 ErrorLog 虛擬主機的錯誤日志路徑 Customlog 虛擬主機的訪問日志路徑/VirtualHost 基于IP的虛擬主機1.在服務器上綁定多個Ip 2.把多個網(wǎng)站綁定到不同的IP3.訪問服務器上不同的IP,可以看到不同的網(wǎng)站。 需求一:基于IP的虛擬主機:1.相同的IP不同的端口號的虛擬主機配置Include指令2.在httpd.conf中添加Include#echo “Include vhost/vhost.conf”/etc/httpd/conf/httpd.conf3. 創(chuàng)建虛擬主機目錄#mkdir /etc/httpd/vhost 相同的IP不同的端口號的虛擬主機配置:子文件的配置:Listen 88VirtualHost 192.168.0.6:88DocumentRoot /var/www/vhost88ServerName 192.168.0.6:88CustomLog /var/www/vhost88/access_log combined/VirtualHost 創(chuàng)建根目錄#mkdir /var/www/vhost88創(chuàng)建主頁#echo “vhost88” /var/www/vhost88/index.htmlApache重新啟動Service httpd restart 具體配置:(實現(xiàn)一個IP ,2個端口的虛擬主機)#echo “Include vhost/vhost.conf”/etc/httpd/conf/httpd.conf#mkdir /etc/httpd/vhost#vi /etc/httpd/vhost/vhost.conf (創(chuàng)建虛擬配置目錄,即添加子文件的配置) 添加:Listen 88Listen 89VirtualHost 192.168.0.6:88DocumentRoot /var/www/vhost88ServerName 192.168.0.6:88CustomLog /var/www/vhost88/access_log combined/VirtualHost VirtualHost 192.168.0.6:89DocumentRoot /var/www/vhost89ServerName 192.168.0.6:89CustomLog /var/www/vhost89/access_log combined/VirtualHost#######################################################添加至此#mkdir /var/www/vhost88#mkdir /var/www/vhost89#echo “vhost88” /var/www/vhost88/index.html#echo “vhost89” /var/www/vhost89/index.htmlService httpd restart 需求二:基于Ip的虛擬主機:不同的Ip地址相同的端口號(1) 多塊物理網(wǎng)卡,每個網(wǎng)卡一個IP(2) 一塊物理網(wǎng)卡,綁定多個IP 配置虛擬網(wǎng)卡:#ifconfig eth0:0 192.168.0.6 up#ifconfig eth0:1 192.168.0.7 up 具體配置如下:(實現(xiàn)一個IP ,多個地址訪問) #echo “Include vhost/vhost.conf”/etc/httpd/conf/httpd.conf#mkdir /etc/httpd/vhost#vi /etc/httpd/vhost/vhost.conf VirtualHost 192.168.0.6:80DocumentRoot /var/www/vhost6ServerName 192.168.0.6CustomLog /var/www/vhost6/access_log combined/VirtualHost VirtualHost 192.168.0.7:80DocumentRoot /var/www/vhost7ServerName 192.168.0.7CustomLog /var/www/vhost7/access_log combined/VirtualHost############################################## 添加至此#ifconfig eth0:0 192.168.0.6 up#ifconfig eth0:1 192.168.0.7 up#mkdir /var/www/vhost6#mkdir /var/www/vhost7#echo “vhost6” /var/www/vhost6/index.html#echo “vhost7” /var/www/vhost7/index.htmlService httpd restart ########################################################### 基于Ip的虛擬主機到此結(jié)束!
如何在Debian 10上安裝Apache并設(shè)置虛擬主機
Apache HTTP Server 是目前應用最多的 web server 服務軟件之一,Apache提供了許多強大的功能,而且可以通過其他模塊進行擴展。Apache HTTP Server是一個開源的跨平臺的服務器軟件,目前大部分網(wǎng)站都采用Apache作為網(wǎng)站HTTP服務器。
在本教程中,我們將向你介紹如何在Debian 10中安裝Apache并配置虛擬主機。
首先你得有一臺安裝了Debian的服務器,這樣便于你在上面進行演練操作。如果你沒有可以考慮自己在虛擬機中安裝一個Debian 10。當然,我也推薦您購買一臺 阿里云VPS 或者 騰訊云VPS 虛擬主機,如果你更喜歡國外服務器,推薦你嘗試 Vultr上的VPS ,注冊即送$50美元體驗,性價比非常高。
當然有主機了,為安全考慮不建議使用root賬號,建議創(chuàng)建一個具有 sudo權(quán)限的用戶 。
同時,你的Debian已經(jīng)安裝了PHP,如果沒有安裝可以參考「 如何在Debian 10安裝PHP 」教程。
Apache的安裝包在Debian的默認源中提供了,所以只需要執(zhí)行安裝命令即可安裝。執(zhí)行安裝Apache命令之前我們需要先更新一下系統(tǒng),命令如下:
安裝完成后,apache將默認自動運行,我們通過以下命令查看apache服務狀態(tài)。
輸出命令類似如下:
開啟防火墻可以加強服務器的安全性,我們通過防火墻只開放需要訪問的端口??梢酝ㄟ^防火墻管理軟件 ufw 或者 nftables 進行管理。
如果系統(tǒng)沒有安裝 ufw 或者 nftables ,可以通過如下命令直接安裝。
UFW 如果需要開啟 (HTTP)80 或者 (HTTPS)443 端口,可以通過執(zhí)行如下命令開啟:
nftables 如果需要開啟 (HTTP)80 或者 (HTTPS)443 端口,可以通過執(zhí)行如下命令開啟:
這個更建議使用 UFW 作為防火墻管理軟件,相對來說操作更簡單。
Apache安裝完成后,需要校驗一下Apache是否正常工作。校驗方法是打開瀏覽器,在地址欄中輸入 ,如果能正常顯示類似如下界面,說明Apache安裝成功運行正常。
Apache安裝完成后,默認的安裝配置文件路徑如下:
我們在 /var/www 目錄中創(chuàng)建一個網(wǎng)站目錄,例如 example.com 。默認情況,目錄結(jié)構(gòu)如下:
可以通過以下命令創(chuàng)建:
在該目錄下我們創(chuàng)建一個 index.php 文件,文件內(nèi)容如下:
首先,進入 /etc/apache2/sites-available 目錄,創(chuàng)建配置文件 example.com.conf 文件,并在其中添加如下內(nèi)容。
您可以根據(jù)需要命名虛擬主機配置文件,但是建議使用域名作為配置文件的名稱。
要啟用新的虛擬主機文件,請創(chuàng)建一個從虛擬主機文件到啟用站點的目錄的符號鏈接,該鏈接在啟動過程中由Apache讀取。
在Debian系統(tǒng)中,您可以使用名為 a2ensite 的幫助程序腳本來啟用虛擬主機,命令如下:
當然你也可以選擇手動創(chuàng)建符號鏈接,如下所示:
啟用配置后,通過鍵入以下命令測試語法是否正確:
如果一切正常,會輸出如下內(nèi)容:
重啟服務,使配置生效,命令如下:
在瀏覽器地址欄中輸入 ,正常情況下你將看到如下輸出:
至此,本教程交接完畢。
通過本教程,你將學會如何在Debian 10上安裝Apache并設(shè)置虛擬主機,如果你有自己的的Debian 10主機不妨按照教程進行安裝嘗試,如果沒有自己的Debian自己建議可以安裝一臺Debian10虛擬主機或者去 阿里云 或者 騰訊云 或者 Vultr 購買一臺自己的VPS服務器。

跟我學Nginx,server 配置塊介紹
本文將介紹 http 配置塊下面的 server 配置塊。
在 nginx 中,一個 server 配置塊代表了一個虛擬機主機。
虛擬主機使用的是特殊的軟硬件技術(shù),它把一臺運行在因特網(wǎng)上的服務器主機分成多臺 “虛擬” 的主機,每臺虛擬主機都可以是一個獨立的網(wǎng)站,可以具有獨立的域名,具有完整的 Internet 服務器功能(WWW、FTP、Email 等等),同一臺主機上的虛擬主機之間是完全獨立的。
從網(wǎng)站訪問者來看,每一臺虛擬主機和一臺獨立主機完全一樣。
利用虛擬主機,不用為每個要運行的網(wǎng)站提供一臺單獨的 Nginx 服務器或單獨運行一組 Nginx 進程。虛擬主機提供了在同一臺服務器、同一組 Nginx 進程上運行多個網(wǎng)站的功能。
在 Nginx 配置文件(nginx.conf)中,一個最簡化的虛擬主機配置如下:
上面配置中,server 配置塊配置了一個監(jiān)聽 8080 端口的虛擬主機。其中其他參數(shù)如下:
Nginx 通過 listen 指令指定的值監(jiān)聽網(wǎng)絡請求,可以是 IP 協(xié)議的形式,也可以是 UNIX 域套接字。如果不設(shè)置 listen 指令,Nginx 在以超級用戶運行時則監(jiān)聽 80 端口,以非超級用戶運行時則監(jiān)聽 8000 端口。
listen 指令的指令值還針對監(jiān)聽方式提供了豐富的參數(shù),如下所示:
用法示例:
server_name 指令主要用于配置基于名稱的虛擬主機,server_name 指令在接到客戶請求后的匹配順序分別為:
(1)準確的 server_name 匹配,例如:
(2)以 * 通配符開始的字符串:
(3)以 * 通配符結(jié)束的字符串:
(4)匹配正則表達式:
Nginx 將按照上面1、2、3、4順序?qū)?server_name 進行匹配,只要有一項匹配 server_name 后就會停止繼續(xù)匹配。
該指令用來指定日志文件的存放路徑、格式(把定義的 log_format 跟在后面)和緩存大??;如果不想啟用日志則access_log off ;
location 指令的作用是根據(jù)用戶請求的 URI 來執(zhí)行不同的操作,也就是根據(jù)用戶請求的網(wǎng)站 URL 匹配 location 配置塊,匹配成功就執(zhí)行 location 配置塊中定義的相關(guān)操作。示例用法:
關(guān)于更多 server 配置塊的介紹將在后續(xù)章節(jié)娓娓道來。
對了,跟 Aapche 一樣,Nginx 也可以配置多種類型的虛擬主機:
(1)基于IP的虛擬主機
(2)基于域名的虛擬主機
(3)基于端口的虛擬主機
關(guān)于怎樣配置基于IP、域名和端口的虛擬主機后續(xù)章節(jié)將進行介紹。
linux操作系統(tǒng)Apache配置虛擬主機
/etc/httpd/conf.d/ 在這個目錄中新建一個 后綴為.conf
VirtualHost *:7744 //774偵聽的端口
DocumentRoot /var/www/html/redmine //網(wǎng)頁文件目錄
ServerName 192.168.0.1 //主機
/VirtualHost
然后保存重啟httpd服務 !
配置虛擬主機的指令是的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于簡述實現(xiàn)虛擬主機的方式、配置虛擬主機的指令是的信息別忘了在云尚網(wǎng)絡進行查找喔。
發(fā)表評論

暫時沒有評論,來搶沙發(fā)吧~