LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

按順序安裝LAMP三個組件後,LAMP的環境的基礎程序就已經搭建完畢了。接下來我們要把各個模塊鉚接起來並測試其工作是否正常。

一、Apache2.4與PHP5的結合

1、修改Apache2.4的配置文件

vim /usr/local/apache2.4/conf/httpd.conf #httpd的配置文件安裝時默認設置在這個路徑下

一共要修改四處地方:
a.給sever設置一個severname
這一步主要是用來解決httpd啓動時的告警信息,如下圖:
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機
設置方法
找到SeverName行,將#ServerName www.example.com:80 前面的#號註釋掉
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

b.設置Apache服務能夠提供服務,解決訪問是403報錯
修改200行
200 <Directory />
201 AllowOverride none
202 Require all denied

200 <Directory />
201 AllowOverride none
202 Require all granted
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

c.註釋php.so調用的模塊
查找AddType,在application/x-gzip .gz .tgz下加入AddType application/x-httpd-php .php,注意綠色光標處有一個空格。
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

d.增加主頁地址
查找DirectoryIndex行,在後面增加index.php
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

2、開啓Apache2.4服務

a.設置Apache2.4的php解析模塊
我們安裝了php5和php7,我們必須設置Apache用那個模塊來解析.so腳本,如果兩個都開啓,啓動httpd時就會報錯,如下圖
/usr/local/apache2.4/bin/apachectl: 行 79: 1432 段錯誤 $HTTPD -k $ARGV
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機
操作
註釋掉Apache2.4配置文件中,php5和php7行其中一個,你要用哪種就留下那行,在另外一個前加註#號註釋掉。
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

b.測試Apache2.4的配置文件語法並重新載入

/usr/local/apache2.4/bin/apachectl -t ##測試語法

每次操作Apache2.4的配置文件後都需要使用這條命令測試系統語法,萬不可不測試直接down掉服務重啓Apache2.4。

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

/usr/local/apache2.4/bin/apachectl graceful ##重新載入Apache2.4配置文件使修改生效

c.設置80端口的數據能夠通過firewalld防火牆

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

d.啓動Apache2.4

/usr/local/apache2.4/bin/apachectl start

e.新建一個index.php測試php與Apache是否正常鏈接工作

在/usr/local/apache2.4/htdocs/下新建一個index.php文件

vim /usr/local/apache2.4/htdocs/index.php ##增加如下內容

<?php
phpinfo();
?>

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

3、訪問index.php

電腦瀏覽器端,打開http://192.168.88.128/index.php 網址,就能看到我們的第一個網頁了。^_^
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

二、Apache虛擬主機

早期的linux服務器上一個服務器只能運行一個網站,就是說一個服務器只能給一個域名的網站提供服務,但隨着技術發展,一個httpd的程序可以同時管理多個網站,就是說服務器上只跑一個服務但他同時可以相應A、B等多個網站的訪問需求。這就是Apache虛擬主機的功能,我們可以簡單的把一個網站或者一個域名叫做一臺主機。

操作實例

0、更改windows的host,

win10下更改主機的host文件需要用管理員權限,而默認情況下你沒有管理權限,所以無法保存更改後的hosts文件。
這裏我們要使用cmd(管理員)方式打開hosts文件
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

文件的路徑也改了,是C:\Windows\System32\drivers\etc
LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機
然後就跟原來一樣可以正常保存了。

1、打開Apache配置文件的虛擬主機選項

vim /usr/local/apache2.4/conf/httpd.conf

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

大概在476行附近,刪掉前面的#號讓配置生效

2、編輯vitual host的配置文件

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

把上面那個文件編輯成下面這個樣子,其中
DocumentRoot 行是網站網頁存放的文件夾
servername:網站的域名,不用帶www
serveralias:網站的其他域名
errorlog:錯誤日誌位置

3、重新載入Apache配置

/usr/local/apache2.4/bin/apachectl -t

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機
這裏看到我們的新網站還沒有東西,我們設置一下

mkdir -p /data/wwwroot/abc.com /data/wwwroot/111.com
echo “u are visit abc.com” >/data/wwwroot/abc.com/index.html
echo “u are visit 111.com” >/data/wwwroot/111.com/index.html
/usr/local/apache2.4/bin/apachectl graceful

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

4、用curl命令測試設置是否成功

curl -x192.168.88.128:80 www.abc.com
curl -x192.168.88.128:80 www.111.com
curl -x192.168.88.128:80 www.test.com

LAMP+LNMP(五)Apache2.4與PHP5的結合、虛擬主機

PS:關於虛擬主機幾個知識點
1、虛擬主機配置文件中定義的第一個站點就是默認虛擬主機,你訪問域名如果沒有自己的配置定義就會被解析到默認虛擬主機上。
2、虛擬主機開啓時原主配置文件DocumentRoot、ServerName選項失效。
3、虛擬主機可以定義很多個。每一個配置項對應着一個網站。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章