- 論壇徽章:
- 0
|
FAMP架構(gòu)的建立20141115
LAMP架構(gòu)早就聞名遐邇了,所謂的LAMP架構(gòu)就是指Linux+Apache+MySQL+PHP(或Python或Perl),是一組常用來搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開源軟件,本身都是各自獨(dú)立的程序,但是因?yàn)槌1环旁谝黄鹗褂茫瑩碛辛嗽絹碓礁叩募嫒荻,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)。
顯然LAMP名字來源于其中每個(gè)程序的第一個(gè)字母,而這每個(gè)程序都是開源軟件:Linux是開源的操作系統(tǒng),Apache是最通用的網(wǎng)絡(luò)服務(wù)器,MySQL是帶有基于網(wǎng)絡(luò)管理附加工具的關(guān)系數(shù)據(jù)庫(kù),PHP是流行的對(duì)象腳本語言。
其實(shí)后三者都可以跨平臺(tái)安裝使用,如果將Linux系統(tǒng)換做Windows操作系統(tǒng),那就叫WAMP架構(gòu),而如果把Linux換做FreeBSD系統(tǒng),則叫做FAMP架構(gòu)。可以說FAMP具有和LAMP同樣的優(yōu)勢(shì)。
FreeBSD的軟件安裝大致分為三種:
1 pkg add直接安裝可執(zhí)行程序。
2 ports編譯安裝。
3 源碼安裝。
以下的安裝都是在FreeBSD 10.1版本上選擇第二種安裝方式即ports安裝完成,其實(shí)選擇pkg方式的話,安裝后的配置過程也大致相同。
一 Apache安裝:
Apache 是 UNIX 系統(tǒng)中普遍使用的WWW服務(wù)器軟件。根據(jù)Netcraft的統(tǒng)計(jì) (http://news.netcraft.com/archives/web_server_survey.html),目前因特網(wǎng)中,有超過百分之六十的服務(wù)器是使用Apache來提供網(wǎng)頁(yè)瀏覽的服務(wù)。Apache可以說是目前世界上使用人數(shù)最多的網(wǎng)頁(yè)服務(wù)器軟件,它不僅可以在 FreeBSD、UNIX、Linux 中運(yùn)行,也可以安裝在 Windows 操作系統(tǒng)中。
Apache和FreeBSD一樣,在軟件版本上也有多個(gè)分支,F(xiàn)B10.1中目前只保留了2.2和2.4版本。FreeBSD缺省使用apache-2.4版本。
在FreeBSD上安裝Apache軟件非常方便,以下使用ports方式安裝:
# cd /usr/ports/www/apache24
# make install clean
以下是一些在實(shí)際使用中常常會(huì)遇到的問題:
1) 配置文件的位置:
在FreeBSD中位于/usr/local/etc/apache24/httpd.conf,在其他版本可能位置和名稱有所不同。
2) 缺省的主目錄:
/usr/local/www/apache24/data
系統(tǒng)安裝好后,我在該目錄下寫入了一個(gè)簡(jiǎn)單的index.html文件,只一句:
# nano index.html
This is a FreeBSD server
然后在客戶端檢查是否輸出正確。
3) log文件的位置
log文件的作用是很大的,Apache有二個(gè)log文件,一個(gè)是所有登陸本apache服務(wù)器的IP記錄,/var/log/httpd- access.log,文件記錄了登陸的ip,時(shí)間,瀏覽器類型等;另一個(gè)是聯(lián)機(jī)錯(cuò)誤記錄文件, /var/log/httpd-error.log,這個(gè)文件對(duì)于調(diào)試apache參數(shù)是很有作用的。兩個(gè)文件都是文本文件,可以由nano等文本編輯器來瀏覽、編輯,記錄文件的位置及文件名是由 httpd.conf中的相應(yīng)配置來改變。
4) 啟動(dòng)、停止和重新啟動(dòng)httpd服務(wù)器的運(yùn)行:
#apachectl start(stop restart graceful)
這個(gè)命令比較有用,尤其是在修改配置文件之后。
5) 開機(jī)自動(dòng)啟動(dòng)apache24服務(wù):
需要編輯/etc/rc.conf文件,在其中加入以下語句:
apache24_enable="YES"
6) 自動(dòng)支持中文的問題
網(wǎng)頁(yè)的缺省字符集有參數(shù) AddDefaultCharset ISO-8859-1
這時(shí)候在瀏覽器瀏覽中文網(wǎng)頁(yè)的時(shí)候,會(huì)亂碼,需要手動(dòng)設(shè)置編碼方式為GBK或GB2312才能顯示中文
去掉注釋,修改為AddDefaultCharset GB2312就可以了。
7) Apache狀態(tài)信息
在安裝完 Apache 后,我們需要不斷了解服務(wù)器的系統(tǒng)各方面的情況。Apache2內(nèi)建了server-status及server-info二種查看服務(wù)器信息的方法。 server-status是指服務(wù)器狀態(tài)信息,我們可以了解Apache目前運(yùn)行的情形,包括占用的系統(tǒng)資源、目前聯(lián)機(jī)數(shù)量等。server-info 主要是顯示Apache的版本、加載的模塊信息等。
為使用這兩項(xiàng)功能,我們必須先修改 httpd.conf。
首先要把ExtendedStatus On前面的注釋去掉。
然后分別找到<Location>和<Location>這兩段,把兩段內(nèi)前面的注釋都去掉,并設(shè)置好訪問權(quán)限。不**安全的話,可以設(shè)置allow from all.
然后就可以在瀏覽器以http://hostname/server-info訪問了。
個(gè)人用戶目錄的問題:
修改主配置文件,注釋掉#UserDir public_html這句,再在用戶test的主目錄/home/test下面創(chuàng)建一個(gè)index.html文件,就可以瀏覽:
http://yourip/~test了。
9) 其他一些我認(rèn)為比較重要的配置參數(shù):
ServerRoot:指出服務(wù)器保存其配置、出錯(cuò)和日志文件等的根目錄。
Listen:允許你綁定Apache服務(wù)到指定的IP地址和端口上,以取代默認(rèn)值
DocumentRoot:你的文檔的根目錄。默認(rèn)情況下,所有的請(qǐng)求從這個(gè)目錄進(jìn)行應(yīng)答。
HostnameLookups:指定記錄用戶端的名字還是IP地址
值得說明的是,過去的開源WWW服務(wù)器幾乎是Apache一統(tǒng)天下,近年來,則有nginx逐漸流行,也是值得考慮部署的好東西。
二 PHP的安裝:
當(dāng)前的FB10.1的ports中有多個(gè)php版本,即php55、php56和php5(缺省使用php-5.4版本),所以選擇安裝PHP5。
安裝:
# cd /usr/ports/lang/php5
# make install clean
需要注意的是,這樣只安裝了php5,但是現(xiàn)在的apache24還不能解析和支持php,還需要:
# cd /usr/ports/www/mod_php5
# make install clean
編譯安裝完成之后,還需要在apache的配置文件(文件位置見上)中加入以下語句:
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
注意記住每次修改apache的配置文件后都要重啟apache以使之生效:
# apachectl restart
現(xiàn)在在/usr/local/www/apache24/data下編寫測(cè)試文件wen1.php文件如下:
<?php
phpinfo()
?>
再到客戶端去打開該文件,如果出現(xiàn)php5的相關(guān)信息頁(yè)面,則表示安裝成功。
三 MySQL的安裝:
FB7中的MySQL有三個(gè)版本,分別為5.1 5.5和5.6,下面我安裝常用的5.5版本:
# cd /usr/ports/databases/mysql55-server
# make install clean
要設(shè)置開機(jī)就自動(dòng)啟動(dòng)的話,需要編輯/etc/rc.conf文件,在其中加入:
mysql_enable="YES"
因?yàn)槿笔∏闆r下MySQL的管理員帳戶的密碼為空,很不安全,所以修改管理員帳號(hào)密碼這一步驟最好不要省略:
# /usr/local/bin/mysqladmin -u root -p password '123456'
衡量你的MySQL服務(wù)器是否正常啟動(dòng)的方法之一是在命令行下面運(yùn)行mysql的客戶端命令(ports安裝mysql-server的話,會(huì)一并連mysql-client也安裝的):
# mysql
如果沒有出錯(cuò)的提示而顯示出mysql客戶端控制臺(tái)(如下)則表明Mysql服務(wù)器正常運(yùn)行了:
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.24-rc FreeBSD port: mysql-server-5.1.24_1
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
四 安裝php5-mysql
現(xiàn)在php和mysql都安裝好了,但現(xiàn)在的php5還不能操作Mysql數(shù)據(jù)庫(kù),或者說現(xiàn)在的php還缺乏mysql的驅(qū)動(dòng),另一方面,現(xiàn)在的php還有相當(dāng)多重要的也是常用的擴(kuò)展沒有安裝,這兩個(gè)問題可以一并解決,就是安裝ports里面的php5-extensions:
# cd /usr/ports/lang/php5-extensions
# make install clean
# apachectl graceful
當(dāng)前的php5-extensions里的選擇一共有65個(gè),我就不一一列舉,一般至少如mysql GD zlib iconv等肯定是要選擇的。
當(dāng)安裝完畢之后,再次運(yùn)行上面所述的測(cè)試文件,發(fā)現(xiàn)現(xiàn)在的內(nèi)容就很多了。
五 其他可選的軟件:
phpmyadmin
phpmyadmin就是一個(gè)操作MySQL數(shù)據(jù)庫(kù)的Web界面,適合于不熟悉SQL語法的懶人們:
# cd /usr/ports/databases/phpmyadmin
# make install clean
|
評(píng)分
-
查看全部評(píng)分
|