Apache和php結合及預設虛擬主機

2021-08-20 07:34:26 字數 3418 閱讀 8926

htppd的主配置檔案是/usr/local/apache2/conf/httpd.conf,編輯該檔案;

把servername這一行去掉注釋;

如下圖,將denied修改為granted,修改它是因為不設定這行,在訪問時會報403,它的目的是允許所有請求;

找到下面這一段,在後面新增index.php

檢視配置檔案是否正確並啟動;

[root@yuioplvlinux-128 ~]# /usr/local/apache2/bin/apachectl -t   #檢視配置檔案是否正確

syntax ok

[root@yuioplvlinux-128 ~]# /usr/local/apache2/bin/apachectl graceful #等同於restart

/usr/local/apache2/bin/apachectl: 行 79: 1366 段錯誤 $httpd -k $argv

報錯是因為同時啟用了php5和php7,選擇注釋一行即可,然後重新啟動;

編輯該檔案,「vim /usr/local/apache2/htdocs/1.php」

並新增一行,「echo "<?php phpinfo(); ?>"」

在瀏覽器中輸入ip位址加檔名;

換成php7;

2.1 開啟windows的hosts檔案,路徑為:c:\windows\system32\drivers\etc\hosts,在裡面新增一行:

儲存成功後,在瀏覽器輸入指定的**:

2.2 預設虛擬主機

早期的linux伺服器上,乙個伺服器只能執行乙個**,也就是說只能跑乙個網域名稱。隨著技術的發展,乙個伺服器支援多個網域名稱,所有就有了虛擬主機的概念,可以吧一台伺服器虛擬出來多個主機,這樣就實現了一台伺服器上跑多個站點。

訪問乙個**,需要在瀏覽器中輸入網域名稱,然後就能訪問到**內容,這個過程是需要瀏覽器和遠端伺服器通訊的,**內容就是從伺服器上讀取到的,網域名稱會解析伺服器的ip位址,而這個是由dns伺服器來完成的。如果訪問的網域名稱指向了伺服器,在伺服器也做了相應的配置,則能正常訪問。

httpd是支援多個虛擬主機的,即標記多個網域名稱。如果沒有標記的網域名稱也指向了這台伺服器,會有乙個處理這些網域名稱的虛擬主機,這個虛擬主機就是「預設虛擬主機」。任何乙個網域名稱執行伺服器,只要是沒有對應的虛擬主機,就會由這個預設虛擬主機來處理。

首先編輯配置檔案/usr/local/apache2/conf/httpd.conf,找到這一行,將前面的#號刪除;

編輯虛擬主機配置檔案,「

以開頭,結尾,這一段就是乙個虛擬主機,預設虛擬主機就是第乙個配置段;

serveradmin指定管理員郵箱,一般沒什麼用;documentroot為該虛擬主機站點的根目錄,**的程式就放在這個目錄下面;servername為**的網域名稱;serveralias為**的第二網域名稱,可以寫多個;errorlog為站點的錯誤日誌;customlog為站點的訪問日誌。

將其更改為:

documentroot "/data/wwwroot/yu.com"

servername yu.com

serveralias www.yu.com www.456.com

errorlog "logs/yu.com-error_log"

customlog "logs/yu.com-access_log" common

documentroot "/data/wwwroot/aaa.com"

servername aaa.com

serveralias www.aaa.com

errorlog "logs/aaa.com-error_log"

customlog "logs/aaa.com-access_log" common

建立目錄及編輯主頁內容;

[root@yuioplvlinux-128 ~]# mkdir -p /data/wwwroot/yu.com /data/wwwroot/aaa.com   #建立目錄

[root@yuioplvlinux-128 ~]# echo "yu.com" > /data/wwwroot/yu.com/index.html #**預設的主頁就是index.html

當第三個網域名稱abc.com訪問時,會去訪問yu.com,即訪問預設虛擬主機。

Apache和PHP結合 Apache預設虛擬主機

apache和php結合 1 先禁用之前的php7的模組 2 檢視下是否禁用php7模組 root centos7 usr local apache2.4 bin apachectl m rewrite module shared php5 module shared 只有乙個,說明禁用了 synt...

LAMP架構五( Apache和PHP結合)

如何安裝mysql 如何安裝 apache 如何安裝php 在這章節統統可以忘記,軟體只要會yum install安裝就可以了。五 這篇重點講apache和php結合,如何在一起的故事。1 在一起的四個條件。1.1 檢查apache有沒有載入php5的模組 apachectl m 1.2 若沒載入模...

Karrigell和apache的結合

原文 因為python並不是特別為web開發而生,所以現在很多的python使用者都在開發能夠讓python執行於web的框架.karrigell就是現在為數眾多的python web框架之一.本文將對karrigell做簡要的介紹.簡介 karrigell是乙個功能強大且靈活的python web...