談起一個(gè)高效動(dòng)態(tài)網(wǎng)站的構(gòu)建,那就不得不提到LAMP,即Linux操作系統(tǒng)、Apache網(wǎng)絡(luò)服務(wù)器、Mysql數(shù)據(jù)庫、Perl、PHP或Python編程語言等開源產(chǎn)品所組成的網(wǎng)站架構(gòu)框架,其最大的優(yōu)勢是開放性強(qiáng),安全性高,且成本低廉。因此,LAMP成為了國際流行的網(wǎng)站構(gòu)建方案。而作為一名php開發(fā)人員,在工作中,普遍也使用LAMP來開發(fā)一個(gè)高性能的網(wǎng)站,當(dāng)然,也有其他構(gòu)建方案,如LNMP,WAMP等。因此,Linux系統(tǒng)不僅是一個(gè)高性能網(wǎng)站的構(gòu)建基礎(chǔ),也是一名php開發(fā)人員的必修課。
開始學(xué)習(xí)Linux系統(tǒng),書籍教程方面,我選擇的是這本語言精練,更易上手的《Linux就該這么學(xué)》,它是一本注重實(shí)用性的Linux自學(xué)書籍,其作者劉遄從事于linux運(yùn)維技術(shù)行業(yè)多年,通過紅帽架構(gòu)師認(rèn)證RHCA認(rèn)證,學(xué)習(xí)生態(tài)圈較完善,有完備的書籍、網(wǎng)站、專業(yè)培訓(xùn)、論壇和其他社區(qū)的Linux學(xué)習(xí)生態(tài)圈。當(dāng)然,對(duì)于慢節(jié)奏的同學(xué),也可以通過網(wǎng)絡(luò)上的教學(xué)視頻進(jìn)行學(xué)習(xí);那么,跟隨教程,我在windows下使用了VMware安裝了一個(gè)虛擬機(jī),配置好Centos系統(tǒng),第一步當(dāng)然是熟悉Linux的基本操作命令,如文檔管理項(xiàng)的rm、mv、cat等,磁盤管理的cd、ls、fdisk等。當(dāng)然,在熟悉其基本命令的同時(shí),也會(huì)學(xué)習(xí)到Linux的目錄結(jié)構(gòu),權(quán)限管理,進(jìn)程管理等基礎(chǔ)知識(shí),我就不一一贅述了。在這里我推薦幾個(gè)關(guān)于進(jìn)程管理的命令:Ps,用于顯示當(dāng)前進(jìn)程狀態(tài),常用的搭配有ps aux 、ps -ef、 ps -eFH。dstat:動(dòng)態(tài)系統(tǒng)資源統(tǒng)計(jì)命令。top:動(dòng)態(tài)顯示inux進(jìn)程。htop:交互式進(jìn)程查看器。這幾個(gè)命令對(duì)于我們的進(jìn)程管理有相當(dāng)大的幫助。
如何搭建LAMP環(huán)境?第一步當(dāng)然是下載安裝必要的產(chǎn)品,順序一般是:Apache、mysql、php,當(dāng)然,linux下每一個(gè)軟件都有各種依賴,人工安裝依賴是一項(xiàng)很復(fù)雜的工作,于是,包管理器便應(yīng)運(yùn)而生,centos使用的是yum包管理器,它會(huì)自動(dòng)幫我們把需要安裝的依賴包自動(dòng)安裝,只需輸入此命令:yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel,安裝過程大概幾分鐘,安裝完成。
第二步便是測試環(huán)境是否正常運(yùn)行(run),首先,我們啟動(dòng)Apache服務(wù)器:/etc/rc.d/init.d/httpd start,啟動(dòng)之后檢測啟動(dòng)結(jié)果:ps aux | grep httpd,如過出現(xiàn)一堆進(jìn)程,那么Apache網(wǎng)絡(luò)服務(wù)器已正常運(yùn)轉(zhuǎn),然后,我用ifconfig命令查看服務(wù)器的IP并進(jìn)入網(wǎng)站根目錄下創(chuàng)建一個(gè)phpinfo.php的程序,用于查看php的配置信息,如果配置信息正常顯示,那么php模塊已配置完成,接下來就進(jìn)行數(shù)據(jù)庫的配置,當(dāng)然第一步是啟動(dòng)數(shù)據(jù)庫:/etc/rc.d/init.d/mysqld start,然后檢查啟動(dòng)結(jié)果:netstat -tulnp | grep :3306,結(jié)果為正常啟動(dòng),接下來我進(jìn)入mysql數(shù)據(jù)庫,新建了一個(gè)用于測試的表,并簡單的插入了幾條數(shù)據(jù),然后再寫了一個(gè)用php連接mysql數(shù)據(jù)庫的測試代碼:
運(yùn)行后如能正常查詢數(shù)據(jù),那么,我們的LAMP環(huán)境便搭建完成。
為了進(jìn)一步熟悉Linux系統(tǒng),我決定安裝另一款Linux OS進(jìn)行日常開發(fā),流行的發(fā)行版有很多,諸如Debian,紅帽(Redhat)、Ubuntu(包括kubuntu,xubuntu等)、OpenSuse(原Suse)、Mandriva(原Mandrake)、CentOS、Fedora、Veket等,各有其優(yōu)缺點(diǎn),我就不對(duì)其深入討論了。我最終選擇安裝的是Ubuntu,選擇的原因是其友好的界面以及許多常用軟件的集成。
安裝好Ubuntu后,我第一步是搭建PHP的開發(fā)環(huán)境,直接使用apt-get安裝軟件,當(dāng)然,還有deb包的安裝方式以及獨(dú)具ubuntu特色的新立得軟件包管理等方法。安裝谷歌瀏覽器時(shí),發(fā)現(xiàn)缺少依賴包,這時(shí)候,這條命令就能幫你自動(dòng)安裝依賴包:sudo apt-get install -f。當(dāng)然,在ubuntu系統(tǒng)下有許多好用的軟件,比如瀏覽器有:firefox,谷歌,opera,音樂播放器有:Audacious、Rhythmbox。我個(gè)人推薦幾款實(shí)用的軟件:谷歌瀏覽器,wps文件處理器,ATOM代碼編輯器,Thunderbird郵件,filezilla等。
在安裝完必備的軟件后,我決定對(duì)我的桌面進(jìn)行一次美化,ubuntu有許多很精美的主題,你甚至可以將其打造為mac的界面風(fēng)格,可以參考網(wǎng)上資料,調(diào)整桌面環(huán)境,我推薦使用unity-tweak-tool,這是一個(gè)非常好用的Unity圖形化管理工具,可以修改工作區(qū),熱區(qū)數(shù)量等。主題我推薦使用Flatabulous,它是一款ubuntu下扁平化主題,也是我試過眾多主題中最喜歡的一個(gè)!
至此,一個(gè)個(gè)性化的Linux OS 便打造成功,不過也推薦你看下書籍《Linux就該這么學(xué)》來學(xué)習(xí)RHEL 7系統(tǒng),迎合更多的發(fā)行版系統(tǒng)。至今,Linux系統(tǒng)已經(jīng)成為我開發(fā)工作的一部分,簡單的指令操作,完全開放的權(quán)限,穩(wěn)定的運(yùn)行效率,以前在windows下很繁瑣的操作,在Linux下只需要一條命令,在開發(fā)工作中極大的節(jié)約了時(shí)間成本。我想,對(duì)于開發(fā)者而言,不僅僅是php開發(fā)者,Linux系統(tǒng)對(duì)于我們來說都是不可缺少的工作平臺(tái)!
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!