# vim /usr/local/apache2.4/conf/httpd.confphp
位置1修改後以下圖apache
域名修改後,能夠解決下圖的問題vim
位置2修改:windows
小知識-經過IP訪問不到服務器時的檢查方法:一、物理機ping對應IP 二、若是1是沒問題的,那麼則telnet對應IP的對應端口(windows中telnet默認沒有打開,須要到控制面板-程序和功能-啓用或關閉windows功能-選中telnet客戶端並確認)瀏覽器
Linux默認80端口是關閉的,咱們這時訪問不到服務器上的網頁,咱們能夠臨時將80端口打開,以下服務器
打開後,就能訪問到服務器上的網頁app
可是有時候會出現403 fobbiden的報錯,這個提示是由於httpd配置文件中的Require all deniedcurl
咱們將上圖中的denied改成grantedide
配置修改完成後,須要從新加載配置測試
# /usr/local/apache2.4/bin/apachectl -t //檢查配置文件語法是否正確
# /usr/local/apache2.4/bin/apachectl graceful //從新加載配置文件,但不會重啓服務
位置3修改後:
位置3增長以下內容:
此處是設置默認首頁
下面咱們來寫一個測試php頁面,看apache和php是否配結合OK
# vi /usr/local/apache2.4/htdocs/test.php
在這個php文件裏面加入代碼
<?php
phpinfo();
?>
保存退出後,不須要重啓服務和配置,能夠直接在瀏覽器中打開這個網頁
出現上述頁面則說明服務器上的php支持解析了,若是不支持解析,則會出現下圖現象
遇到上圖php不支持解析的現象,須要檢查apache的配置文件:
1)# /usr/local/apache2.4/bin/apachectl -M //查看php5_module是否加載
若是未加載,須要查看/usr/local/apache2.4/modules/libphp5.so文件是否存在,若是存在,須要查看httpd配置文件中有沒有加載libphp5.so的這一行配置,
2)還須要檢查配置文件中是否寫入AddType application/x-httpd-php .php或者寫錯
小技巧:使用ctrl+r 能夠搜索命令歷史
網站根目錄定義,由配置文件中的DocumentRoot參數定義
域名是ServerName
httpd配置文件一個主機只能對應一個域名,能夠經過修改配置文件打開虛擬主機,方式爲搜索vhost,去掉行首的#號,以下圖
而後打開一個二級的配置文件
# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
框內內容表示一個虛擬主機,修改其中的網站根目錄(DocumentRoot)和域名(ServerName),若是有多個域名解析到主機,就須要設置別名ServerAlias
將上述配置文件內容修改以下
隨後建立對應目錄或文件
隨後測試配置文件語法正確性
# /usr/local/apache2.4/bin/apachectl -t
再從新加載配置文件
# /usr/local/apache2.4/bin/apachectl graceful
再來綁定虛擬主機和IP 端口號
方式一# vim /etc/hosts
方式二# curl -x192.168.75.136:80 abc.com
上圖能夠看到不管哪一個域名訪問綁定的這個主機,都是訪問的abc.com,因abc.com是虛擬主機配置文件中的第一個主機,所以它屬於默認虛擬主機
上圖能夠看出配置虛擬主機後原來httpd.conf配置文件中的域名、根目錄等配置會失效,均以虛擬主機配置文件爲準