本篇主要學習Apache網站服務程序的基本部署,基於IP地址、主機名(域名)、端口號的虛擬主機功能。
1.基於IP地址
首先我們需要在虛擬機中線安裝Apache服務程序,Apache服務程序的軟件包名叫做httpd,所以我們首先執行命令yum install httpd 從yum倉庫中下載服務,輸入y確認下載。
接着我們運行Apache服務,使用命令systemctl start httpd啟動服務。可以使用命令 systemctl enable httpd來設置Apache服務開機自啟動。
接下來就要配置基於IP地址的服務了,我們先是nmtui命令為網卡添加多個地址供我們實驗。終端中輸入此命令就可以看到網卡配置了。我們通過方向鍵與回車鍵點擊編輯連接中的網卡ens33,在里面再添加三個IP地址,分別是192.168.42.110 192.168.42.120 192.168.42.130 然后依次確認回到第一個界面,重新啟用一次連接,即現斷開連接再重新連接,我們的配置便生效了。
下一步我們依次使用ping命令ping我們配置的三個IP地址,ping通即成功。
下一步我們分別創建網站數據目錄:在/home/wwwroot下分別創建三個網站數據目錄
如圖中輸出命令可同時創建三個目錄,然后我們分別在三個網站數據目錄下面寫入主頁文件,內容就寫該網站的IP地址。
如圖所示我們已經寫進去了。
下一步我們在配置文件中描述基於IP地址的虛擬主機 vim /etc/httpd/conf/httpd.conf 直接將我們的信息找地方寫入即可
<VirtualHost 192.168.42.110>
DocumentRoot /home/wwwroot/110
ServerName www.linuxprobe.com
<Directory /home/wwwroot/110>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.120>
DocumentRoot /home/wwwroot/120
ServerName bbs.linuxprobe.com
<Directory /home/wwwroot/120 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.130>
DocumentRoot /home/wwwroot/130
ServerName tech.linuxprobe.com
<Directory /home/wwwroot/130 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
配置完畢后我們要重啟一下httpd服務。systemctl restart httpd
最后我們就可以分別以不同IP訪問驗證結果了。如圖所示即為成功。另外兩個類同於此。
2.基於主機名(域名)
首先我們還是先下載httpd服務(回復快照以后),配置基於主機名的httpd服務,首先我們要配置網卡IP地址與hosts文件,hosts文件作用是定義IP地址與主機名的映射關系,即強制將某個主機名地址解析到指定的IP地址。vim /ect/hosts 注意要分行寫,按照圖示
然后與配置IP一樣分別創建網站數據目錄並分別在網站目錄中下入不同的首頁文件
中間不注意寫錯,我重新寫了一下不影響。
接着在主配置文件中/etc/httpd/conf/httpd.conf 配置基於主機名稱的虛擬主機。
<VirtualHost 192.168.42.100>
DocumentRoot "/home/wwwroot/www"
ServerName "www.linuxprobe.com"
<Directory "/home/wwwroot/www">
AllowOverride None
Require all granted
</directory>
</VirtualHost>
<VirtualHost 192.168.42.100>
DocumentRoot "/home/wwwroot/bbs"
ServerName "bbs.linuxprobe.com"
<Directory "/home/wwwroot/bbs">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.42.100>
DocumentRoot "/home/wwwroot/tech"
ServerName "tech.linuxprobe.com"
<Directory "/home/wwwroot/tech">
AllowOverride None
Require all granted
</directory>
</VirtualHost>
配置完畢后重啟httpd服務然后進入火狐測試,如圖即位成功。
3.基於端口
我們還是在安裝了httpd服務后進行下一步 分別創建端口為6111.6222網站數據目錄,並分別在網站數據目錄中寫入不同內容的主頁文件。
然后在配置文件/etc/httpd/conf/httpd.conf,中的約42行的Listen 80 在下面追加
Listen 6111
Listen 6222
然后在主配置文件的末尾按下面格式定義虛擬主機信息:
<VirtualHost 192.168.42.100:6111>
DocumentRoot “/home/wwwroot/6111”
ServerName www.linuxprobe.com
<Directory “/home/wwwroot/6111”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.42.100:6222>
DocumentRoot “/home/wwwroot/6222”
ServerName bbs.linuxprobe.com
<Directory “/home/wwwroot/6222”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
配置完成后重新開啟httpd服務,就可以使用瀏覽器測試了
如圖所示配置成功,大功告成了。