1. 為什么下載源碼包需要到官網(wǎng)上去下載?
簡單說就是為了安全,如果是非官方下載的源碼包,有可能被別有用心的人動(dòng)過手腳,畢竟是源碼的,任何人都可以修改代碼。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的東港網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
2. 64位機(jī)器是否可以安裝32位rpm包?64位機(jī)器是否可以安裝32位的MySQL二進(jìn)制免編譯包?
64位機(jī)器是可以安裝32位rpm包的,同樣的64位機(jī)器也能安裝32位的mysql二進(jìn)制免編譯包(centos5.x的確是支持,但是centos6.x不支持)。
3. 編譯安裝apache時(shí), 如果不加–with-included-apr 會(huì)有什么問題?
會(huì)報(bào)錯(cuò),Cannot use an external APR with the bundled APR-util,因?yàn)閍pr是一個(gè)底層的接口庫,編譯apache必須要有這個(gè)支持。
4. 編譯php時(shí),必須加上 –with-apxs2=/usr/local/apache2/bin/apxs 這是什么意思呢?
apxs是apache編譯動(dòng)態(tài)模塊并自動(dòng)配置加載到httpd.conf文件的一個(gè)工具,由于php也是作為apache的一個(gè)動(dòng)態(tài)加載模塊,我們編譯php的目的就是為了生成這個(gè)模塊,所以必須要指定apxs的地址。
5. 當(dāng)配置好apache的配置文件后,如何檢驗(yàn)配置文件是否正確?
/usr/local/apache2/bin/apachectl -t
6. 如何查看80端口是否啟動(dòng)?
netstat -lnp |grep ‘:80‘
7. 更改apache配置文件httpd.conf后,如何重新加載配置文件?
/usr/local/apache2/bin/apachectl graceful
8. 如何查看apache加載了哪些模塊?
/usr/local/apache2/bin/apachectl -M
9. 怎么查看php加載了哪些模塊?
/usr/local/php/bin/php -m
10. 簡單描述靜態(tài)加載和動(dòng)態(tài)共享模塊的區(qū)別。
不管編譯httpd還是php,都會(huì)有一個(gè)靜態(tài)模塊和動(dòng)態(tài)模塊的概念。首先,動(dòng)態(tài)和靜態(tài)模塊宏觀上分析,靜態(tài)會(huì)直接編譯進(jìn)httpd這個(gè)可執(zhí)行文件內(nèi),而動(dòng)態(tài)的模塊是單獨(dú)的一個(gè)文件;其次,靜態(tài)模塊是和httpd這個(gè)文件一同加載的,只要服務(wù)一開啟就會(huì)加載所有的靜態(tài)模塊,而動(dòng)態(tài)模塊是根據(jù)需求什么時(shí)候用什么時(shí)候加載。
11. 當(dāng)我們配置好lamp環(huán)境后,訪問php程序無法解析,你如何去排查這個(gè)問題呢?
(1) apachectl -M 看是否加載了libphp5.so
(2) 如果沒有加載,那查看/usr/local/apache2/modules/是否有l(wèi)ibphp5.so,然后查看httpd.conf 中是否有LoadModule libphp5.so
(3) 再看httpd.conf中是否有 AddType application/x-httpd-php .php
(4) apache一定要重啟服務(wù)
12. 如何配置apache的虛擬主機(jī)(Apache的主配置文件: /usr/local/apache2/conf/httpd.conf)
vim httpd.conf
#Include conf/extra/httpd-vhosts.conf
把該行最前面的#去掉,然后修改:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
改為
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
再 vim conf/extra/httpd-vhosts.conf 根據(jù)實(shí)際需求修改
13. 如何配置apache的用戶驗(yàn)證
vi httpd.conf
在相應(yīng)的虛擬主機(jī)配置文件段,加入
AllowOverride AuthConfig
AuthName “自定義的”
AuthType Basic
AuthUserFile /data/.htpasswd // 這個(gè)目錄你可以隨便寫一個(gè),沒有限制
require valid-user
保存后,然后創(chuàng)建apache的驗(yàn)證用戶 htpasswd -c /data/.htpasswd test
14. 如何配置apache的日志以及日志按天切割
在httpd.conf 在相應(yīng)的虛擬主機(jī)配置段,加入
CustomLog “|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/www.yourdomain.com-access_%Y%m%d.log 86400” combined
注意,需要寫成絕對(duì)路徑,寫成相對(duì)的路徑可能不生效
15. 如何配置apache的圖片等靜態(tài)文件的過期時(shí)間
httpd.conf 中加入
ExpiresActive on
ExpiresByType p_w_picpath/gif “access plus 1 days”
ExpiresByType p_w_picpath/jpeg “access plus 24 hours”
ExpiresByType p_w_picpath/png “access plus 24 hours”
ExpiresByType text/css “now plus 2 hour”
ExpiresByType application/x-javascript “now plus 2 hours”
ExpiresByType application/x-shockwave-flash “now plus 2 hours”
ExpiresDefault “now plus 0 min”
16. 如何限定某個(gè)目錄下的php文件沒有執(zhí)行權(quán)限
vim httpd.conf
在相關(guān)的虛擬主機(jī)段,加入
php_admin_flag engine off
其中 /www/htdocs/path 為要限制的目錄
17. 如何配置apache的域名重定向
要把訪問域名 www.domain1.com 的域名轉(zhuǎn)發(fā)到 www.domain2.com 上
實(shí)現(xiàn):
在相關(guān)的虛擬主機(jī)中增加
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
如果是多個(gè)域名重定向到一個(gè)域名
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com[OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
18. 如何配置php的錯(cuò)誤日志
vim php.ini 檢查并配置如下兩項(xiàng)
log_errors = On
error_log = logs/error.log
19. 如何在php中配置open_basedir, 是否可以在httpd.conf 中針對(duì)虛擬主機(jī)配置open_basedir?
vim php.ini
加入 open_basedir=/var/www/
httpd.conf中也可以針對(duì)虛擬主機(jī)限制openbasedir:
在相對(duì)應(yīng)的虛擬主機(jī)配置文件中加入:
php_admin_value open_basedir “/var/www/htdocs”
20. 如何禁止php的函數(shù)exec
vim php.ini 找到
disable_functions =
改為
disable_functions = exec 如果是多個(gè)函數(shù),可以在exec后面繼續(xù)增加函數(shù)名用逗號(hào)分開即可
21. 我們以源碼安裝LAMP環(huán)境時(shí),先安裝哪個(gè),后安裝哪個(gè)?為什么呢?
安裝順序可以是 mysql apache php 也可以是 apache mysql php
把php放到最后,這是因?yàn)榘惭bphp時(shí),需要指定mysql安裝目錄,也需要指定apache的apxs工具
22. 怎么確定你的php.ini 在哪個(gè)目錄下?
php -i |grep ‘Configuration File’
23. 怎么確定你的php的extension_dir 在哪里?
php -i |grep ‘extension_dir’