LAMP架構(四)

一 apache和php結合

    # 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 能夠搜索命令歷史

二 apache默認虛擬主機

網站根目錄定義,由配置文件中的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配置文件中的域名、根目錄等配置會失效,均以虛擬主機配置文件爲準

相關文章
相關標籤/搜索