Linux_源碼搭建LAMP環境(二)

來源:互聯網
上載者:User

這個主要描述下一些常用外掛程式和工具的安裝和配置。

1.eAccelerator

eAccelerator是一個自由開放源碼php加速器,最佳化和動態內容緩衝,

提高了php指令碼的緩衝效能,使得PHP指令碼在編譯的狀態下,

對伺服器的開銷幾乎完全消除。 它還有對指令碼起最佳化作用,

以加快其執行效率。使您的PHP程式碼執效率能提高1-10倍;

1.安裝eAccelerator

如果只有一個php安裝,那麼可以直接在eAccelerator目錄下執行

phpize
./configure
make

當你有多個php安裝或者phpize不再你的當前路徑中的時候,那麼

[gaohu@tigertall ~]$ tar -jxf eaccelerator-0.9.6.1.tar.bz2

[gaohu@tigertall ~]$ cd eaccelerator-0.9.6.1

[gaohu@tigertall ~]$ su -

[root@tigertall ~]# cd /home/gaohu/eaccelerator-0.9.6.1

[root@tigertall eaccelerator-0.9.6.1]# /usr/local/bin/phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

/usr/local/bin/phpize命令一定要放在eaccelerator目錄下執行,

不然會報 Cannot find config.m4 的錯誤。

[root@tigertall eaccelerator-0.9.6.1]# ./configure \

--enable-eaccelerator=shared \

--with-php-config=/usr/local/bin/php-config

[root@tigertall eaccelerator-0.9.6.1]# make

[root@tigertall eaccelerator-0.9.6.1]# make install
 

得到如下的輸出,安裝就成功了

Installing shared extensions:

  /usr/local/lib/php/extensions/no-debug-zts-20090626/

 

如果php編譯的是非安全執行緒的,那麼可能會輸出在

/usr/local/lib/php/extensions/no-debug-non-zts-20090626/

自己要注意下。

 

2.配置eAccelerator

eAccelerator可以被配置為Zend擴充,或者是php的擴充。當被配置為Zend擴充時,

需要使用完整目錄來指示eaccelerator.so連結庫的路徑。

如果存在php.d目錄,則把eAccelerator.ini拷貝進去,並進行設定。

否則的話,則編輯php.ini檔案。


安裝為zend擴充:

zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir=" /var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

eaccelerator.allowed_admin_path="/usr/local/apache2/htdocs/control.php"

如果你使用了安全執行緒的php構建,那麼需要使用

"zend_extension_ts" 來替換上面的 "zend_extension".


安裝為php擴充:

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

eaccelerator.allowed_admin_path="/usr/local/apache2/htdocs/control.php"

把以上內容粘貼到php.ini檔案中即可。

 

上述變數的意思:

eaccelerator.shm_size="16" 

  解釋:eaccelerator可使用的共用記憶體大小(單位為MB)。

eaccelerator.cache_dir="/tmp/eaccelerator" 

  解釋:緩衝路徑

eaccelerator.enable="1" 

  解釋:開啟或者關閉eaccelerator。"1"指開啟,"0"指關閉。預設值為"1"。

eaccelerator.optimizer="1" 

  解釋:開啟或者關閉代碼最佳化,開啟可以加快代碼的執行速度。

  "1"指開啟,"0"指關閉。預設值為"1"。

eaccelerator.check_mtime="1"

  解釋:當開啟此項時,eaccelerator會在每次請求時檢查php檔案的修改時間,

  看其是否被修改過,這會耗費一點時間,如果php檔案被修改過,

  eaccelerator會重新編譯緩衝該php檔案。當關閉此項時,如果php檔案被修改,

  則需要手工刪eaccelerator緩衝,才能顯示被修改的php檔案。

  "1"指開啟,"0"指關閉。預設值為"1"。

eaccelerator.debug="0" 

  解釋:開啟或者關閉調試記錄。當開啟時,eaccelerator會將對一個快取檔案的

  每次請求都寫進log。開啟此項只對調試eaccelerator是否有BUG時有益處。

  "1"指開啟,"0"指關閉。預設值為"0"。

eaccelerator.log_file="/usr/local/apache2/logs/eaccelerator_log" 

  解釋:記錄檔

eaccelerator.filter=""    

  解釋:決定哪些PHP檔案應該被緩衝。可以指定一個範圍(比如"*.php *.phtml"),

  這樣被指定的檔案就會被緩衝。如果該範圍以!開頭,

  被指定的檔案就不會被緩衝。預設值為"",表示緩衝所有的PHP檔案。

eaccelerator.shm_max="0"  

  解釋:一個使用者使用例如eaccelerator_put之類的函數能夠往

  共用記憶體中載入的最大資料。預設值為"0",表示不限制。(單位為位元組)

eaccelerator.shm_ttl="0"  

  解釋:當沒有足夠的空閑共用記憶體去嘗試緩衝一個新指令碼時,將刪除至少

  在shm_ttl秒之前沒有被訪問過的檔案。預設值為"0",表示不嘗試從

  共用記憶體中刪除任何舊的指令碼。(單位為秒)

eaccelerator.shm_prune_period="0" 

  解釋:當沒有足夠的空閑共用記憶體去嘗試緩衝一個新指令碼時,將刪所有舊指令碼,

  前提是這個嘗試在超過shm_prune_period秒之前被執行過。預設值為"0",

  表示不嘗試從共用記憶體中刪除任何舊的指令碼。(單位為秒)

eaccelerator.shm_only="0" 

  解釋:開啟或者關閉在磁碟上緩衝編譯過的指令碼。這個參數對會話資料

  和內容緩衝沒有效果。預設值為"0",表示使用磁碟和共用記憶體來緩衝。

eaccelerator.compress="1"

  解釋:開啟或者關閉緩衝內容壓縮。"1"指開啟,"0"指關閉。預設值為"1"。

eaccelerator.compress_level="9" 

  解釋:記憶體壓縮的層級。預設值為"9",表示最大壓縮。

eaccelerator.allowed_admin_path="/usr/local/apache2/htdocs/control.php"

  解釋:eaccelerator控制檔案路徑,這樣,可以通過

  http://your-web-server/control.php擷取圖形化訪問eaccelerator。

  要使用這個功能,要把安裝原始碼目錄下的control.php拷貝到

  /usr/local/apache2/htdocs/目錄下,並設定control.php檔案中

  的使用者和密碼,以後,則需要檔案中的使用者名稱和密碼登陸。



同時調整php.ini中擴充外掛程式的目錄為上述的輸出

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"
extension_dir = "/usr/local/lib/php/extensions/no-debug-zts-20090626/"

 


3.建立緩衝目錄

目錄要與上面設定檔中指定的一致,並且,要確保webserver的運行使用者對這個

目錄有可寫入的許可權。

[root@tigertall eaccelerator-0.9.6.1]# mkdir /var/cache/eaccelerator

比如我的apache守護進程是有daemon使用者來執行的(可以在httpd.conf中找到)

那麼,我切換下目錄的屬主

[root@tigertall eaccelerator-0.9.6.1]# chown -R daemon.daemon /var/cache/eaccelerator

 

4.重啟apache

重啟apache,以啟用eaccelerator擴充。

訪問http://your-web-server/phpinfo.php

或者在命令列執行 php -v

可以看到eaccelerator已經啟用的資訊。

2.ImageMagick

ImageMagick是一套功能強大、穩定而且免費的工具集和開發包,

可以用來讀、寫和處理超過89種基本格式的圖片檔案,

包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。

ImageMagick比gd提供了更好的影像處理品質。推薦使用。

下載ImageMagick的原始碼。

1.解壓縮

[gaohu@tigertall ~]$ tar -zxf ImageMagick.tar.gz


2.編譯安裝

[gaohu@tigertall ~]$ tar -zxf ImageMagick.tar.gz

[gaohu@tigertall ~]$ cd ImageMagick-6.6.3-0/

[gaohu@tigertall ImageMagick-6.6.3-0]$ ./configure

[gaohu@tigertall ImageMagick-6.6.3-0]$ make

[gaohu@tigertall ImageMagick-6.6.3-0]$ sudo make install

 

3.下載imagick

這個是php的一個支援ImageMagick的擴充。

:http://pecl.php.net/package/imagick

 

4.編譯安裝imagick

這裡,像安裝eaccelerator一樣,把imagick安裝為php的一個擴充。

[gaohu@tigertall ~]$ tar -zxvf imagick-3.0.0RC2.tgz

[gaohu@tigertall ~]$ cd imagick-3.0.0RC2

[gaohu@tigertall imagick-3.0.0RC2]$ phpize

[gaohu@tigertall imagick-3.0.0RC2]$ ./configure \

  --with-php-config=/usr/local/bin/php-config

[gaohu@tigertall imagick-3.0.0RC2]$ make

[gaohu@tigertall imagick-3.0.0RC2]$ sudo make install
Installing shared extensions:

   /usr/local/lib/php/extensions/no-debug-zts-20090626/
Installing header files:  /usr/local/include/php/

 

4.配置imagick

[gaohu@tigertall ~]$ sudo vi /usr/local/lib/php.ini

添加以下:

extension = "imagick.so"

儲存退出。

ImageMagick和imagick的安裝完成。

3.phpMyAdmin

phpMyAdmin是一個網路的資料庫管理平台,這個跟php是沒有什麼關係的,

不過使用起來也是比較方便的,所以推薦大家使用。

下載代碼後,直接把代碼解壓到網站根目錄下的一個檔案夾,就可以使用了。
[gaohu@tigertall ~]$ cd /usr/local/apache2/htdocs/
[gaohu@tigertall htdocs]$ tar -jxf /home/gaohu/phpMyAdmin-3.3.4-all-languages.tar.bz2 

[gaohu@tigertall htdocs]$ mv phpMyAdmin-3.3.4-all-languages phpMyAdmin

[gaohu@tigertall htdocs]$ cd phpMyAdmin/

[gaohu@tigertall phpMyAdmin]$ cp config.sample.inc.php  config.inc.php
然後就可以以http://your-web-server/phpMyAdmin來訪問phpMyAdmin的功能了。

 

我所用到的就是這麼多了,如果有更好的,也希望大家推薦給我。^_^。

下面就要再次安裝meidiawiki了,呵呵 。

 

<201007219 高虎 於杭州 部落格園>

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.