Apache配置虚拟主机三大问题--自己的相关坑
Apache配置虛擬主機三大問題
?
第一大問題:配置失敗
主要是apache 2.4以后配置步驟不再像以前那樣了,正確步驟如下:
第一步:在httpd.conf中開啟虛擬主機配置功能
?#Include conf/extra/httpd-vhosts.conf... 你可以去掉它前面的 #?
第二步:
#配置我們自己的虛擬主機
<VirtualHost *:8082> 特別注意端口!!
????DocumentRoot "C:/Apache24/htdocs/example" //注意路徑
????ServerName localhost
????DirectoryIndex index.php
??ErrorLog "logs/mytest.com-error_log"
?CustomLog "logs/mytest.com-access_log" common
</VirtualHost>
?
<VirtualHost *:8082>
????DocumentRoot "C:/Apache24/htdocs/example/hspzf/public"
????ServerName myzf.com
????DirectoryIndex index.php
???ErrorLog "logs/myzf.com-error_log"
???CustomLog "logs/myzf.com-access_log" common
</VirtualHost>
?
特別注意:這個不應該再寫了,不能抄襲別人的或者老版本的!
<directory>
Options FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</directory>
第三步:在windows-system32-drivers-etc-host.conf 中添加路徑
127.0.0.1 ?localhost
127.0.0.1 ?myzf.com
127.0.0.1 ?www.mytest.com
127.0.0.1 ?www.wechat.com
?
第二大問題:Apache配置虛擬主機后,不能訪問localhost的問題,其他可以,唯獨localhost.
可能是沒有加localhsotl !!!
<VirtualHost *:8082> 特別注意端口!!
????DocumentRoot "C:/Apache24/htdocs/example" //注意路徑
????ServerName localhost
????DirectoryIndex index.php
??ErrorLog "logs/mytest.com-error_log"
?CustomLog "logs/mytest.com-access_log" common
</VirtualHost>
?
?
第三大問題:仍然無法訪問: 可能是端口問題了!!因為默認80端口,需要訪問的時候更改端口8082之類的
例如:http://localhost:8082/hspzf/public/
例如:http://www.mytest.com:8082/
?
最后,一定要重啟apache!!!,更改任何地方都要先重啟一次再訪問
?
php7和apache2.4安裝整合以后,localhost可以正常訪問,沒問題。
然后我又配置了幾個虛擬主機,這時候,虛擬主機可以正常訪問,但是localhost就訪問不了了。
其實以前這種問題我也經歷過,比如我之前用的php5.4搭配Apache2.2,就可以虛擬主機和localhost都可以訪問;
但是我之前怎么解決的我也不記得了,今天又折騰了好久,最后發現,其實就是注釋掉一行代碼的事情。
先說配置虛擬主機的流程:
1.先打開httpd.conf文件,打開httpd-vhosts.conf
# Virtual hostsInclude?conf/extra/httpd-vhosts.conf
2.然后打開httpd-vhosts.conf文件,配置一個虛擬主機
<VirtualHost *:80>
????DocumentRoot "D:/amp/www/wechat"
????ServerName www.wechat.com</VirtualHost>
3.打開hosts文件,添加域名
127.0.0.1 ???????www.wechat.com
4.重啟Apache,這時虛擬主機的域名www.wechat.com可以正常訪問,
但是我的localhost就不能訪問了。報錯如下:
?
解決過程:
我的思路是,添加一個名為localhost的虛擬主機不就可以了?
1.打開httpd-vhosts.conf文件,配置一個名為localhost的虛擬主機:
<VirtualHost *:80>
????ServerName localhost
????DocumentRoot "D:/amp/www"
</VirtualHost>
2.打開hosts文件,添加域名
注意:這一步,做或者不做,都沒有影響,親測通過。
#127.0.0.1 ???????localhost
3.重啟Apache,期待的結果并沒有出現,哎,都累得半死了,還是不能訪問localhost,雖然其他虛擬域名都可以正常訪問,
?可是我就是想魚和熊掌兼得,繼續查找問題
?
問題解決:
最后我比對了我原來的配置代碼,發現,在httpd.conf文件中有一行代碼是需要注釋掉的
#ServerName localhost:80
就是這一行代碼,把我折騰的夠嗆,把 ServerName 這一行代碼注釋掉就可以了
也許你的httpd.conf文件中并不是localhost:80 這個值,可能是 ?ServerName ?a.com:80 ; 都一樣,直接注釋掉
以后無論開啟或者關閉虛擬主機,localhost都可以正常訪問。
?
總結:今天在這里記錄一下,自己犯過兩次的錯誤,保證以后不再犯了,
再就是遇到問題,不要慌,耐心查找,總能解決的。
?
總結
以上是生活随笔為你收集整理的Apache配置虚拟主机三大问题--自己的相关坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个肥牛可以换几个鱼丸?
- 下一篇: 朱砂净宅的方法与步骤朱砂净宅的具体步骤