小編我也說過自己喜歡web網站開發,當然目前主流的web開發大概有三種,基于asp.net的、基于jsp的和基于php的,對于不同的開發在架設環境的時候是有所不同的,asp.net是使用IIS作為web伺服器的,jsp是使用tomcat作為伺服器的,那php的黃金搭檔就是apache啦,小編今天就來聊聊如何來實作phpweb環境的搭建,當然為了實作動态網站的開發就要結合資料庫啦,在linux下搭建php的web環境,想信讀者一定也知道有個”黃金組合LAMP”
就是LINUX+APACHE+MYSQL+PHP,因為都是開源的,一些中小型的企業很熱衷于這個組合,而今天小編就使用源碼(apache和mysql可以用系統自帶的)來搭建這些環境,當然為了實作mysql資料庫的管理,這裡要借助一個很流行的web頁面資料庫管理工具phpmyadmin,在所有環境都配置OK啦,小編我還要實作一個部落格網站的搭建,也是企業經常用到的叫wordpress
準備工作:
httpd.i386 2.2.3-31.el5 httpd-devel.i386 2.2.3-31.el5 apr-devel.i386 1.2.7-11.el5_3.1 apr-util-devel.i386 1.2.7-7.el5_3.2 mysql.i386 5.0.77-3.el5 mysql-server.i386 5.0.77-3.el5 mysql-devel.i386 5.0.77-3.el5
上面的這些軟體包系統帶的都有,yum安裝就是了,下面的這些是需要下載下傳的
<a href="http://www.php.net/downloads.php">php-5.4.14.tar.bz2</a>
<a href="http://sourceforge.net/projects/phpmyadmin/">phpMyAdmin-3.5.8-all-languages.tar.bz2</a>
setp 1:安裝并啟動apache伺服器
# yum install httpd
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765855bNZg.jpg"></a>
# yum install httpd-devel
看見了吧會附帶将apr-devel和apr-util-devel安裝上啦
啟動apache伺服器,并檢視監聽端口
# service httpd start
在浏覽器中輸入http://127.0.0.1測試,出現下面的結果說明apache伺服器搭建就沒問題了
step 2:mysql的安裝、啟動與配置
# yum install mysql-server
這裡附帶會吧mysql工具安裝上
接下來安裝mysql-devel
# yum install mysql-devel
安裝就結束了,啟動mysql服務,并檢視監聽端口
# service mysqld start
啟動成功了,配置mysql登入名和密碼,這裡小編使用root使用者,密碼是123456
# mysql
mysql> grant all on mysql.* to 'root'@'localhost' identified by '123456';
mysql> flush privileges;
mysql> quit;
# mysql -u root -p
之後輸入密碼123456
到這裡mysql就算配置完了
setp 3:php的安裝配置
解壓源碼,并切換到目錄下
# tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/php-5.4.14/
執行安裝的老三步:
# ./configure --with-mysql=/usr --with-apxs2=/usr/sbin/apxs --enable-mbstring –with-pdo-mysql=/usr
這裡小編添加了mysql的支援、apache2的支援和mbstring,編譯過程比較長
# make
# make install
這裡就算安裝完成了,還要做一些後續工作
# cp php.ini-development /usr/local/lib/php.ini
如果要想讓apache伺服器認識php的頁面,那就必須将php的子產品添加到apache的配置檔案(httpd.conf)當中,将下面的幾句添加進入配置檔案中
LoadModule php5_module libexec/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
然後重新啟動apache服務
# service httpd restart
最後一步小編編寫了一個php的測試頁面來測試是不是web伺服器能解析出php檔案,test.php内容如下
# vim /var/www/html/test.php
<? php
phpinfo();
?>
打開浏覽器輸入http://127.0.0.1/test.php試試,出來啦
step 4:phpMyadmin的安裝配置,之是以要安裝這個就是因為要可視化的管理mysql資料庫,而這個phpMyadmin并非一個源碼安裝包,它就是一個php寫成的web站點,隻需要把這個站點挂在伺服器上就行了
首先解壓縮phpMyAdmin-3.5.8-all-languages.tar.bz2
# tar -jxvf phpMyAdmin-3.5.8-all-languages.tar.bz2
這裡小編使用實體目錄的形似實作web站點的通路,那麼将這個站點直接拷貝到/var/www/html/phpMyAdmin
# cp -a phpMyAdmin-3.5.8-all-languages /var/www/html/phpMyAdmin
切換到phpMyAdmin目錄下,執行以下指令,生成phpMyAdmin的配置檔案
cp -p config.sample.inc.php config.inc.php
在httpd.conf的391行加入“index.php”,讓apache伺服器自動打開index.php
重新開機apahce伺服器
然後直接在浏覽器中輸入http://localhost/phpMyAdmin試試
可以通路了,那麼小編登入試試,使用者名“root”,密碼“123456”
看到左側的那些資料庫了吧,這裡讀者可以點選操作資料庫啦,是不是很友善
當然讀者會發現這個web站點總是提示無法使用“mysqli擴充”,原因呢是小編在編譯的過程中并未将功能編譯進去,不過也不要擔心,這裡可以另行編譯進去即可
# cd /usr/local/src/php-5.4.14/ext/mysqli
linux下将源碼檔案編譯應該都有configure吧,可這裡沒有,在我們已經安裝php後,/usr/local/這個檔案夾裡的指令目錄bin裡有一個檔案叫phpize,用它就可以生成configure檔案啦,繼續
/usr/local/bin/phpize //這裡回車運作,執行完後就出了configure檔案,
./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/bin/php-config --with-mysqli=/usr/lib/mysql/mysql_config
直接回車,不出問題就繼續
make
make test
make install
最終結果mysqli.so就出來了
然後打開php的配置檔案php.ini
#vim /usr/local/lib/php.ini
在末尾添加兩行
extension_dir="/usr/local/include/php/"
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/mysqli.so
重新啟動apache,登入mysqli缺失問題已經解決了
這個問題的解決方法和缺少mysqli 的解決方法一緻
# cd /usr/local/src/php-5.4.14/ext/mcrypt/
# phpize
# ./configure --with-php-config=/usr/local/bin/php-config
# make test
這裡就安裝成功了
将子產品加載到php的配置檔案中
# echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so' >> /usr/local/lib/php.ini
重新啟動apache服務,再次登入問題解決
step 5:優化php的通路速度,這裡小編使用Xcache來實作,在未安裝之前先測試看看apache的負載能力,模拟一百人通路伺服器一萬次
# ab -c 100 -n 10000 http://127.0.0.1:80/phpMyAdmin
現在開始安裝Xcache
# tar -jxvf xcache-3.0.1.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/xcache-3.0.1/
# phpize --clean && phpize
可以使用 ./configure –help
來檢視要配置的内容,因為小編這裡要測試針對于php的優化,是以要加上有關php的選項
#./configure --enable-xcache --with-php-config=/usr/local/bin/php-config
子產品就生成成功啦,接下來将子產品加入到配置檔案php的配置檔案即可
# echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xcache.so' >> /usr/local/lib/php.ini
重新啟動apache伺服器,再次執行剛剛的負載測試檢視結果
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765928LtYX.jpg"></a>
step 6:最後一個項目啦,搭建一個部落格網站啦,這個也比較的簡單啦,因為下載下傳下來的wordpress也是一個寫好的web站點,直接挂在網站上即可
解壓縮wordpress
# tar -zxvf wordpress-3.5.1-zh_CN.tar.gz
這裡依然使用實體目錄,将站點拷貝到web的根目錄
# cp -a wordpress/ /var/www/html/wordpress
下面就可以直接進行通路了,在浏覽器中輸入http://127.0.0.1/wordpress試試看
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765930jiLa.jpg"></a>
這裡提示沒有配置檔案,可以手工建立,也可以通過web向導來建立,小編這裡為省事就選擇後者啦
<a href="http://wnqcmq.blog.51cto.com/attachment/201304/12/5200614_1365765932QCRf.jpg"></a>
這裡提示要一些準備工作: 1.資料庫名:wordpress(小編自己建立了,讀者也可以自己建立) 2.資料庫使用者名:root 3.資料庫密碼:123456 4.資料庫主機:localhost 5.資料表字首:wp_(可以任意給,隻要符合命名規範即可)
設定好資訊後點選送出,之後會出來下面的提示,說沒權限寫配置檔案,這主要是因為wordpress檔案夾對于其他使用者或者使用者組無寫權限,不用擔心,可以将這些資訊複制出來手工建立wp-config.php檔案
# vim /var/www/html/wordpress/wp-config.php
将浏覽器中的文字複制進檔案儲存退出即可
然後點選的“進行安裝”,就會出現下面的頁面,詢問部落格的标題,和超級管理者的使用者名和密碼,讀者自行設定即可
輸入完成之後點選“安裝wordpress”,然後就出來一個讓人苦笑不得的畫面,小編我表示已經淩亂了
單擊“登入”就會跳轉到以下頁面
輸入超級管理者的使用者名和密碼登入看看
OK啦,接下來的工作就是要發揮讀者你的創造力的時候啦,wordpress之是以那麼受歡迎,是因為提供了很多很多人性化的服務,不過小編我不經常倒騰,表示了解不動,有個51cto就夠了,接下來的工作就交給讀者你啦哈,敬請關注小編的部落格哈
本文轉自 chenming421 51CTO部落格,原文連結:http://blog.51cto.com/wnqcmq/1177203