FreeBSD 使用 FastCGI + PHP 5.3 提供的 php-fpm
這篇還是講 mod_fastcgi,而非目前歸到 Apache 下管的 mod_fcgid。 PHP 5.3 已經內建 php-fpm,不過 ports 預設是不會裝上去的,所以首先先把 lang/php5 加上 php-fpm 支援。方法是 make config 後選擇 FPM。如果有裝 portconf 的人可以直接在 /usr/local/etc/ports.conf 裡加上:...
View Articlemod_fcgid 與 PHP
先不論效能之類的問題,mod_fcgid 跑 PHP 的設定比 mod_fastcgi 簡單許多。(參考之前寫的「apache22 (worker) + mod_fastcgi + php5-fcgi」這篇文章) 首先是把 module load 進來: LoadModule fcgid_module libexec/apache22/mod_fcgid.so...
View Article同時用 mod_deflate 與 mod_fastcgi 所產生的問題…
今天花了不少時間找到的問題… 問題是使用 mod_fastcgi 以及 mod_deflate 時,Content-Encoding 會是 gzip,但 Content-Length 會是未壓縮的長度。 也就是說,伺服器端在 header 提供的 Content-Length 可能寫 8KB,但實際上只丟出 2KB (壓縮後的大小),於是瀏覽器讀完這 2KB 後會停下來一直等,等到...
View ArticleMunin 的設定…
Munin 是套資源監視軟體。跟其他資源監視軟體不一樣的地方?畫面漂亮啊 XDDD 拿台堆各種雜物的 database 來看: 等到 Munin 監視超過二十台時就會很明顯感覺到很吃資源,再多的時候就會開始罵三字經,罵完後拆一台獨立的機器跑,以免跑個 vim 都要卡三秒… XD 這時候就是該調整了: 將 munin.conf 的 graph_strategy 與 html_strategy 都改成...
View Article在 FreeBSD ports 裡用 local patch 修正問題…
用 FastCGI 跑 Trac,遇到 Trac 常常出現 MySQL server has gone away 的問題,官方看起來非常的 open source style:我沒遇到,不太想要處理這個問題… XD Anyway,這個問題可以透過「#3645 (MySQL connections don’t reconnect after idle timeout) – The Trac...
View ArticleDebian 上 Apache 2.2 設定 FastCGI 模式 PHP 的方式…
在 Debian 上只有 mod_fcgid 可以用,沒有 mod_fastcgi,兩者設定方式不一樣,花了一些時間測試… 最後是參考「Debian, apache2, virtualhosts, FastCGI and PHP5」這篇文章的說明,先弄到「會動」的情況。 首先是把該裝的裝起來...
View ArticleHHVM 2.3.0 支援 FastCGI…
在 HHVM 官方的 blog 上看到 2.3.0 的消息:「HHVM 2.3.0 and Travis CI」。 在 GitHub 上的「FastCGI」這頁就有提到要怎麼透過 FastCGI 界面跟 Apache 配合,熟悉 nginx 的人也應該可以輕鬆對應過去。 另外一個重要的事情是 Travis CI 支援 HHVM 了,可以看到大量的專案加上 HHVM...
View Article用 nginx + FastCGI 接 HHVM…
看到「HHVM, Nginx and Laravel」這篇文章,加上 Rackspace 香港的機器用起來很愉快,就開一台起來測試… 文章內的方法都 okay,只是在裝 HHVM 前少了一步把 key 加到 apt 內的指令: apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5A16E7281BE7A449 補上去以後...
View ArticleApache 2.4 的 ProxyPass 對 Unix Domain Socket 的 FastCGI 界面設定
出自「High-performance PHP on apache httpd 2.4.x using mod_proxy_fcgi and php-fpm.」這邊的方法: ProxyPassMatch ^/(.*\.php(/.*)?)$...
View Article把 nginx 換到 1.6 後 PHP 遇到的問題
升級完 nginx 後就變成白頁了,觀察發現靜態檔案不受影響,所以看起來是與 PHP 溝通有問題,所以應該是 FastCGI 類的問題,用一些關鍵字找了一下,很快就解決了。 解法出自這邊:「Nginx 1.6 + php5-fpm socket communication fail」。 總結原文的解法,本來是 include fastcgi_params; 的請改成 include...
View ArticleNginx + FastCGI + Trac
先前試著逼自己用 Phabricator,用了一個多月後發現設計的邏輯還是跟 Trac 差了不少,算是為了 Facebook 特化的產品吧。在這一個月查資料的過程也發現當初 Wikimedia 要採用的時候也花了不少力氣送 patch 回官方,然後針對不少地方客製化調整。 另外比較痛的地方是 plugin 的支援能力還沒有很好,變成很多東西都要改主體... 而且效能也不太好 (不支援 PHP...
View Article在 nginx 環境中把 Trac 裝到子目錄下的設法
以前的「Nginx + FastCGI + Trac」提到給的範例是把 Trac 裝在 / 下的方法。如果是裝在 /trac 或是其他路徑時就需要修改了。 一開始試著改會出現這樣的錯誤: No handler matched request to /trac/report/7 然後研究調整後,發現 Trac 純粹是吃 FastCGI 給的參數去判斷要怎麼處理 url routing,在...
View Article當 Daemon 死掉時自動重新跑起...
以前確保 daemon 掛掉時會重新跑起來大概有幾個方式,像是用 Monit 顧,然後再用 /etc/inittab 確保 Monit 不會掛掉... 在 systemd 的年代,因為 systemd 已經被保護起來,而重跑這個功能在 systemd 裡就有支援,不需要用 Monit 這類程式了。 在 manual 裡搜尋 restart 可以看到幾個參數: Restart=...
View Article最近的 nginx + php-fpm 安全性漏洞
這次的漏洞是在打 CTF (capture the flag) 的時候發現的,這個安全漏洞已經被給 CVE 編號並且修正了:「CVE-2019-11043」,回報者與官方的討論可以在「Sec Bug #78599 env_path_info underflow in fpm_main.c can lead to RCE」這邊看到。從回報的標題可以知道這次頗熱鬧的原因,是因為這次有機會 RCE...
View Articlenginx + fcgiwrap (spawn-fcgi) + Mailgraph
手上還是有固定一台機器是自己架設 Postfix 管理郵件系統,所以還是想跑個 Mailgraph 看一下有多少量在上面跑... 不過因為 Mailgraph 的 web interface 只有 CGI 界面,但 nginx 不支援 CGI,所以需要找個工具透過 nginx 支援的 FastCGI 轉換進去。 概念與設定都不算太難,但是得把工具找齊才會動...
View Article
More Pages to Explore .....