LAMP架构(apache与php结合,apache默认虚拟主机)
一、apache與php結(jié)合
主配置文件/usr/local/apache2.4/conf/httpd.conf
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful ?(重新加載服務(wù),并不重啟服務(wù))
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl start ? ?(啟動httpd服務(wù))
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message ? ? 這是一個(gè)警告
解決方法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,192行,ServerName前的#號去掉
接下來發(fā)現(xiàn)直接訪問ip顯示錯誤
錯誤代碼: HTTP ERROR -2146697211
解決辦法:1.首先看ip是否ping通。
? ? ? 2.查看80端口是否打開
? ? ? iptables -I INPUT -p tcp --dport 80 -j ACCEPT ? ? ?打開80端口
? ? ?iptables -D INPUT -p tcp --dport 80 -j ACCEPT ? ? ?關(guān)閉80端口
有時(shí)候會顯示狀態(tài)碼為403,狀態(tài)碼正常為200
解決辦法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,202行,?Require all denied ?修改為 ?Require all granted
因?yàn)橐С謕hp,要在配置文件里增加一行,搜索AddType
398 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?AddType??application/x-httpd-php .php ? ? ? ?
增加索引頁。
搜索 Indexes
251 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DirectoryIndex index.html ? ?index.php
檢測php有么有解析成功,在/usr/local/apache2.4/htdocs下創(chuàng)建一個(gè)1.php
并寫入
<?
phpinfo(); ? ? ? ? ? ? ? ?這是一個(gè)函數(shù),會顯示php的詳細(xì)信息
?>
用瀏覽器訪問ip,若出現(xiàn)界面,則表示php解析成功。
?/usr/local/php7/bin/php -i | less ? ? 和這個(gè)命令顯示的命令一樣,但是是以表格的形式
若沒有成功:
檢查有沒有加載php模塊。
/usr/local/apache2.4/bin/apachectl -M
2.有沒有php模塊
ls /usr/local/apache2.4/modules/libphp5.so
3.配置文件里有沒有
有沒有加載 libphp5.so 這一行的配置
檢查有沒有加 AddType php 這一行
二、apache默認(rèn)虛擬主機(jī)
(默認(rèn)虛擬主機(jī):只要servername里么有定義,但是解析到了本機(jī)的Ip,則會自動跳轉(zhuǎn)到默認(rèn)虛擬主機(jī)上來)
一個(gè)服務(wù)器可以訪問多個(gè)網(wǎng)站。每個(gè)網(wǎng)站都是一個(gè)虛擬主機(jī)。
windows和Linux操作系統(tǒng)中,都有一個(gè)hosto文件 ? ? ?可以在這個(gè)文件里制定一個(gè)域名,然后這個(gè)域名指向一個(gè)ip
[root@litongyao ~]# vim /usr/local/apache2.4/conf/httpd.conf
203 ? ? ServerName 111.com:80 ? ? ? ? ? ? ? ?(定義了主機(jī)域名和端口號)
225 ? ? DocumentRoot "/usr/local/apache2.4/htdocs" ?(定義了主機(jī)目錄位置)
476 ? ?# Virtual hosts ?(虛擬主機(jī))
477 ? ?#Include conf/extra/httpd-vhosts.conf ? ? ?(去掉井號,主配置文件的server就失效了)
去掉#可以打開一個(gè)虛擬主機(jī)配置文件,可以定義多個(gè)servername
[root@localhost apache2.4]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf?
ServerAdmin ? ? ? ? ? ? ? 定義管理員郵箱(可以刪除)
DocumentRoot ? ? ? ? ? ? ?網(wǎng)站的根目錄
ServerName ? ? ? ? ? ? ? 訪問網(wǎng)站的域名
ServerAlias ? ? ? ? ? ? ?網(wǎng)站別名
ErrorLog ? ? ? ? ? ? ? ?錯誤日志
CustomLog ? ? ? ? ? ? ? 訪問日志
寫完虛擬配置文件然后要創(chuàng)建相應(yīng)的目錄
<VirtualHost *:80>
? ? DocumentRoot "/data/wwwroot/abc.com"
? ? ServerName abc.com
? ? ServerAlias www.abc.com www.123.com
? ? php_admin_value open_basedir "/data/wwwroot/abc.com:/tmp/"
? ? ErrorLog "logs/abc.com"
? ? CustomLog "logs/abc.com-access_log" common
</VirtualHost>
編寫完成后,重新加載配置文件
[root@litongyao ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@litongyao ~]# /usr/local/apache2.4/bin/apachectl start ? ? ? ? ? (啟動apache服務(wù))
httpd (pid 3490) already running
測試,我們用curl命令,-x可以指定ip.:
[root@litongyao ~]# curl -x192.168.52.100:80 abc.com
abc.com
兩個(gè)虛擬主機(jī)的servername中都沒有定義lty這個(gè)域名,我們訪問看他會跳轉(zhuǎn)到哪個(gè)上。
[root@litongyao ~]# curl -x192.168.52.100:80 lty.com
abc.com
本文轉(zhuǎn)自 小新銳 51CTO博客,原文鏈接:http://blog.51cto.com/13407306/2052448,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的LAMP架构(apache与php结合,apache默认虚拟主机)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++编程能力提升捷径 - ACM
- 下一篇: Linux下目录快速切换小工具bd