馬上註冊  |  找回密碼

SAY討論區

查看: 295|回復: 1
打印 上一主題 下一主題

[教學] Linux 上完全手動編譯安裝 Lighttpd + PHP4(FastCGI) + eAccelerator [複製鏈接]

好友
0
帖子
124731
積分
124889
最後登錄
2019-2-28
在線時間
0 小時
跳轉到指定樓層
樓主
發表於 2012-5-12 02:28:37 |只看該作者 |倒序瀏覽
這份文件請勿轉貼到其他論壇 , 隻給 P2P 站上的同好分享
需要軟體
Lighttpd http://www.lighttpd.net/download/
PHP4 http://www.php.net/downloads.php
EAccelerator http://sourceforge.net/project/showfiles.php?group_id=122249


我目前的安裝測試環境如下
Fedora core 3
MySQL 4.0.15a
CPU 塞陽 1.2G , RAM 384MB

由於是手動編譯安裝
因此請下載 tar.gz 格式的 source package
下載完之後 請放到 /usr/local/src

=================================================================================
第一步 : 先安裝 Lighttpd
安裝前的準備動作
首先要建立一個使用者來執行 lighttpd
可以下指令 useradd lighttpd
記得要把 /etc/passwd 的 lighttpd 這個 user 的shell從 /bin/bash 改成 /bin/nologin

開始安裝 lighttpd
首先下指令 tar -xzf lighttpd-1.3.12.tar.gz , 把檔案解開之後
下指令 cd lighttpd-1.3.12
然後要決定好 lighttpd 的安裝位置
./configure --prefix=/usr/local/lighttpd
接著下 make , 如果 make 沒問題 , 那就下達 make install 開始安裝
安裝成功之後 , 會發現LightHttpd 已經安裝在 /usr/local/lighttpd

接著編寫設定檔 , 由於 lighttpd 不會幫你自動設定設定檔 , 所以要自己寫
或者把 /usr/local/src/lighttpd-1.3.12/doc 內的 lighttpd.conf 看看自己修改
這裡提供一個設定範例 , 請各位下載本頁的附件 , 有些許我加上的中文(big5)說明
然後請看每個註解 , 改成您需要的
PS : 附件中的設定檔範例有 Virtual Hosts , PHP , 網頁壓縮與 user_dir 的設定,對一般人來說應該足夠

若要使用我提供的設定檔
請在 /usr/local/lighttpd 下建立 conf 文件夾與 logs 文件夾
然後把 lighttpd.conf 放到 conf 文件夾下
接著再把附件中的 spawn-php.sh 放到 /usr/local/lighttpd/bin 文件夾下
接著請下指令 chown lighttpd.lighttpd /usr/local/lighttpd -Rf
PS: 附件中的 spawn-php.sh 是把 PHP with FastCGI 的環境變數初始化 , 內容各位也可以改

到這步驟應該是都可以瞭 , 但是請先別急
由於 PHP 還沒安裝 , 因此現在若啟動 lighttpd 要測試會發生錯誤
所以接下來要安裝 PHP with FastCGI


=================================================================================
第二步 : 安裝 PHP with FAST CGI
把工作目錄切換到 /usr/local/src
然後下指令解開 PHP
tar -xzf php-4.3.10.tar.gz
接著進入 php-4.3.10 (cd php-4.3.10)
開始下指令
./configure --prefix=/usr/local/php-fcgi --enable-fastcgi--with-mysql=/usr/local/mysql --enable-zend-multibyte --with-config-file-path=/usr/local/php-fcgi/conf --enable-discard-path --enable-force-cgi-redirect

這部分若要加上其他 PHP 功能請自行加上參數
唯一與以前不同點是 , 編譯成 fastcgi 模組 , 比需使用 --enable-fastcgi
以前與 apache2 一起編譯是使用 --with-apxs2 , 此時不能再下這道指令

若沒有問題 , 就執行 make 與 make install
這時候 PHP 會安裝在 /usr/local/php-fcgi 這個文件夾瞭
然後在 /usr/local/php-fcgi 建立一個 conf 的文件夾
把 /usr/local/src/php-4.3.10 下的 php.ini-dist 複製到 /usr/local/php-fcgi/conf/php.ini
指令是 cp /usr/local/src/php-4.3.10/php.ini-dist /usr/local/php-fcgi/conf/php.ini

=================================================================================
第三步 : 安裝 EAccelerator
把工作目錄切換到 /usr/local/src
然後下指令解開 EAccelerator
tar -xzf eaccelerator-0.9.2a.tar.gz
接著進入 eaccelerator-0.9.2a 這個文件夾(cd eaccelerator-0.9.2a)
開始下指令
export PHP_PREFIX=/usr/local/php-fcgi
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install
EAccelerator 會安裝在 /usr/local/php-fcgi/lib/php/extensions/no-debug-non-zts-XXXXXX 這個目錄
上面目錄後面的XXXXXX 要自己看喔(非常重要)

接著要編輯 /usr/local/php-fcgi/conf/php.ini
找到一行 cgi.fix_pathinfo
要寫成 cgi.fix_pathinfo = 1
若沒有這行 , 請自行加入就可

然後加入
extension=eaccelerator.so
eaccelerator.shm_size=8
eaccelerator.cache_dir=/tmp/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
檢查一下 extension_dir 這個設定是否如下
extension_dir = /usr/local/php-fcgi/lib/php/extensions/no-debug-non-zts-XXXXXX/
最後存檔

=================================================================================
最後步驟 : 測試 lighttpd
lighttpd 我們是安裝在 /usr/local/lighttpd
因此執行 /usr/local/lighttpd/sbin/lighttpd -f /usr/local/lighttpd/conf/lighttpd.conf
可以下 ps -aux 看看有沒有許多 php 的行程
若有,那代表你成功瞭
你一定會煩..怎麼那麼多 php 程式啊 ?? 其實不要緊張
那些都是多執行緒 , 佔用記憶體很小

如何關閉 lighttpd , 可以下指令 killall lighttpd , 這樣就可以關閉
如何一開機啟動 lighttpd ?
在 /etc/rc.d/rc.local 新增一行
/usr/local/lighttpd/sbin/lighttpd -f /usr/local/lighttpd/conf/lighttpd.conf
這樣每次開機就會去啟動瞭


如何測試效能 ???
若您之前有安裝 apache with php
請先把 apache 用別的 port 來跑 , 例如 81
然後可以利用 apache 提供的 ab 來測試
例如 ab -c 10 -n 100 http://localhost/test.php 來測試 port 80
然後可以下 ab -c 10 -n 100 http://localhost:81/test.php 來測試 port 81
你會發現 lighttpd 跑的速度比 apache 快 50%~200% 以上喔 !!!!

[<i> Last edited by pigo on 2005-03-07 at 11:01 PM </i>]
分享分享0 收藏收藏0 讚好讚好0 Unlike!Unlike!0 分享 傳送 邀請

好友
0
帖子
130553
積分
135811
最後登錄
2019-2-28
在線時間
0 小時
No.1回覆者
發表於 2012-5-13 23:51:32 |只看該作者
看或者不看,貼子就在這裡,不急不忙  
您需要登錄後才可以回帖 登錄 | 馬上註冊 |

Archiver|手機版|SAY討論區

GMT+8, 2026-5-26 19:36 , Processed in 0.618759 second(s), 8 queries .

Powered by go2tutor.comDiscuz! X2

© 2026 Community Networks Limited

回頂部