apache虛擬主機就是一個以VirtualHost為打頭每個網站可以是一個VirtualHost,這樣一個服務器就可以有多網站了,同時NameVirtualHost 可以指定IP也可以不指定為星號,這樣就可以綁定雙線IP了.
一直使用xampp做apache服務器,可是新版的xampp添加了虛擬主機就訪問127.0.0.1也跳轉到了虛擬主機去了,比如:我添加了www.49028c.com,路徑是e:wwwdemo,而我的添加完之后,訪問127.0.0.1竟然也是跑到了www.49028c.com下面去.
上網找了好多資料說是添加localhost的,于是在httpd.conf最后添加如下配置,代碼如下:
- <VirtualHost *>
- DocumentRoot E:www
- ServerName 127.0.0.1
- # ErrorLog logs/default-error_log
- </VirtualHost>
- <Directory "E:www">
- Options Indexes FollowSymLinks Multiviews
- AllowOverride All
- Order Allow,Deny
- Allow from all
- </Directory>
發現還是不行,繼續查找,期間安裝了PHPnow,也是類似的情況,后來無意中看到了NameVirtualHost這個配置,于是寫成了:
NameVirtualHost *
重啟apache竟然可以了,記錄下,防止下次踩坑.
下面看一個實踐實例:Linux(包括 CentOS Linux),是使用最廣的 Linux 服務器,大量的網站應用都部署在其上.
1. 打開文件 /etc/httpd/conf/httpd.conf,搜索 VirtualHost example,找到代碼如下:
- #
- # VirtualHost example:
- # Almost any Apache directive may go into a VirtualHost container.
- # The first VirtualHost section is used for requests without a known
- # server name.
- #
- #<VirtualHost *:80>
- # ServerAdmin webmaster@dummy-host.example.com
- # DocumentRoot /www/docs/dummy-host.example.com
- # ServerName dummy-host.example.com
- # ErrorLog logs/dummy-host.example.com-error_log
- # CustomLog logs/dummy-host.example.com-access_log common
- #</VirtualHost>
2. 仿照例子,添加一段代碼來指定某一域名的網站,代碼如下:
- #
- # DocumentRoot 是網站文件存放的根目錄
- # ServerName 是網站域名, 需要跟 DNS 指向的域名一致
- #
- <VirtualHost *:80>
- ServerAdmin webmaster@dummy-host.example.com
- DocumentRoot /var/www/httpdocs/demo_neoease_com
- ServerName www.49028c.com
- ErrorLog logs/demo.neoease.com-error.log
- CustomLog logs/demo.neoease.com-access.log common
- </VirtualHost>
3. 重啟 httpd 服務,執行以下語句.
service httpd restart
新聞熱點
疑難解答