<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache on 小惡魔 - AppleBOY</title><link>https://blog.wu-boy.com/tags/apache/</link><description>Recent content in Apache on 小惡魔 - AppleBOY</description><generator>Hugo</generator><language>en-us</language><managingEditor>appleboy.tw@gmail.com (Appleboy)</managingEditor><webMaster>appleboy.tw@gmail.com (Appleboy)</webMaster><lastBuildDate>Sun, 08 Dec 2013 12:45:16 +0000</lastBuildDate><atom:link href="https://blog.wu-boy.com/tags/apache/feed.xml" rel="self" type="application/rss+xml"/><item><title>Jenkins + Apache User Auth</title><link>https://blog.wu-boy.com/2013/12/jenkins-apache-auth-setting/</link><pubDate>Sun, 08 Dec 2013 12:45:16 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2013/12/jenkins-apache-auth-setting/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/10830034484/" title="jenkins_logo by appleboy46, on Flickr"&gt;&lt;img src="https://i0.wp.com/farm6.staticflickr.com/5507/10830034484_95cba45707.jpg?resize=398%2C128&amp;#038;ssl=1" alt="jenkins_logo" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;上個月寫過一篇如何設定 &lt;a href="http://nginx.org/" target="_blank"&gt;Nginx&lt;/a&gt; + &lt;a href="http://jenkins-ci.org/" target="_blank"&gt;Jenkins&lt;/a&gt; 文章，可以參考: &lt;a href="http://blog.wu-boy.com/2013/11/jenkins-nginx-auth/" target="_blank"&gt;Jenkins + Nginx User Auth&lt;/a&gt;，這次筆記 Jenkins + &lt;a href="http://httpd.apache.org" target="_blank"&gt;Apache&lt;/a&gt; 設定方式&lt;/p&gt;</description></item><item><title>Nginx + phpMyAdmin 搭配 SSL 設定</title><link>https://blog.wu-boy.com/2013/06/force-phpmyadmin-ssl-with-nginx/</link><pubDate>Sat, 08 Jun 2013 07:51:08 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2013/06/force-phpmyadmin-ssl-with-nginx/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/8171305355/" title="mysql_logo by appleboy46, on Flickr"&gt;&lt;img src="https://i1.wp.com/farm9.staticflickr.com/8488/8171305355_7fb578fdc9.jpg?w=300&amp;#038;ssl=1" alt="mysql_logo" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://www.phpmyadmin.net/home_page/index.php" target="_blank"&gt;phpMyAdmin&lt;/a&gt; 是一套用來管理 &lt;a href="http://www.mysql.com/" target="_blank"&gt;MySQL&lt;/a&gt; 的 Web 介面，如果要讓 phpMyAdmin 強制走 https 的話，可以透過兩種方式，一種是直接設定 phpMyAdmin，另外一種方式是透過 &lt;a href="http://httpd.apache.org/docs/current/mod/mod_rewrite.html" target="_blank"&gt;Apache rewrite&lt;/a&gt; 或 &lt;a href="http://nginx.org/" target="_blank"&gt;Nginx&lt;/a&gt; 設定，底下來分別說明。&lt;/p&gt;</description></item><item><title>PHP MVC Framework 搭配 Nginx + PHP-FPM 設定檔</title><link>https://blog.wu-boy.com/2012/10/php-mvc-framework-nginx-php-fpm/</link><pubDate>Mon, 08 Oct 2012 12:03:03 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2012/10/php-mvc-framework-nginx-php-fpm/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/6248708214/" title="Laravel PHP Framework by appleboy46, on Flickr"&gt;&lt;img src="https://i0.wp.com/farm7.static.flickr.com/6038/6248708214_ef1133d0e9_o.png?resize=283%2C101&amp;#038;ssl=1" alt="Laravel PHP Framework" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt; 相信大家都知道 
&lt;p&gt;&lt;a href="http://nginx.com/" target="_blank"&gt;Nginx&lt;/a&gt; 搭配 &lt;a href="http://php-fpm.org/" target="_blank"&gt;PHP-FPM&lt;/a&gt; 用起來效能還不錯，這次來筆記如何設定 Nginx 去除 PHP MVC Framework 討厭的 index.php 字串，不管是 &lt;a href="http://laravel.com/" target="_blank"&gt;Laravel&lt;/a&gt; 或 &lt;a href="http://codeigniter.org.tw" target="_blank"&gt;CodeIgniter&lt;/a&gt; 教學文件都是在 &lt;a href="http://www.apache.org/" target="_blank"&gt;Apache&lt;/a&gt; 設定 &lt;a href="http://en.wikipedia.org/wiki/Htaccess" target="_blank"&gt;.htaccess&lt;/a&gt; 來達成 Cleaner URL，Apache 最大好處支援 .htaccess，但是 Nginx 也有強大的效能，此篇紀錄如何設定 Nginx 達成 &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html" target="_blank"&gt;mod_rewrite&lt;/a&gt; 效果。&lt;/p&gt;</description></item><item><title>[筆記] 解決 apache mod_fcgid: HTTP request length 136000 (so far) exceeds MaxRequestLen (131072)</title><link>https://blog.wu-boy.com/2012/06/fix-apache-mod_fcgid-http-request-length-136000-so-far-exceeds-maxrequestlen/</link><pubDate>Sat, 30 Jun 2012 00:41:29 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2012/06/fix-apache-mod_fcgid-http-request-length-136000-so-far-exceeds-maxrequestlen/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/6760100409/" title="logo-Ubuntu by appleboy46, on Flickr"&gt;&lt;img src="https://i2.wp.com/farm8.staticflickr.com/7153/6760100409_b23d1ce67b_m.jpg?resize=240%2C165&amp;#038;ssl=1" alt="logo-Ubuntu" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt; 上次寫了一篇 
&lt;p&gt;&lt;a href="http://blog.wu-boy.com/2012/05/php-fastcgi-with-nginx-on-ubuntu-10-10-maverick/" target="_blank"&gt;Ubuntu 10.10 (Maverick) 架設 Nginx + PHP FastCGI&lt;/a&gt;，不過在 PHP 上傳檔案部份發現了問題，打開 &lt;span style="color:green"&gt;/var/log/apache2/error.log&lt;/span&gt; 發現底下錯誤訊息:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;mod_fcgid: HTTP request length 136000 (so far) exceeds MaxRequestLen (131072) 上網找了一下是 fcgid.conf 設定錯誤，解決方式非常簡單，只要打開 &lt;span style="color:green"&gt;&lt;strong&gt;/etc/apache2/mods-available/fcgid.conf&lt;/strong&gt;&lt;/span&gt;，將底下內容&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>如何使用 Apache Module mod_mime</title><link>https://blog.wu-boy.com/2012/05/how-to-use-apache-module-mod_mime/</link><pubDate>Thu, 10 May 2012 04:25:16 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2012/05/how-to-use-apache-module-mod_mime/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/7168729996/" title="apache_software_foundation_logo_3074 by appleboy46, on Flickr"&gt;&lt;img src="https://i2.wp.com/farm9.staticflickr.com/8151/7168729996_452646f0f2_n.jpg?resize=320%2C169&amp;#038;ssl=1" alt="apache_software_foundation_logo_3074" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://httpd.apache.org/" target="_blank"&gt;Apache&lt;/a&gt; 可以透過 &lt;a href="http://httpd.apache.org/docs/current/mod/mod_mime.html" target="_blank"&gt;mod_mime&lt;/a&gt; 模組且根據使用者定義的副檔名來 response data 給 Client 端，此功能可以應用在前台搭配 Template Library，例如 &lt;a href="http://mustache.github.com/" target="_blank"&gt;Mustache Logic-less templates&lt;/a&gt;，透過此 Apache 模組 可以在 html 檔案將定義好全部 Template，一次讀取進來，底下舉個例子:&lt;/p&gt;
&lt;pre class="brush: jscript; title: ; notranslate" title=""&gt;&lt;/pre&gt; 我們希望 apache 能夠讀取 assets/templates/test1.mustache，並且將檔案內容放到 script 裡面，這時候就必須在 apache httpd.conf 定義 
&lt;p&gt;&lt;strong&gt;&lt;span style="color:green"&gt;text/x-mustache-template&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;&lt;IfModule mime_module&gt;
 AddType text/x-mustache-template .mustache
 AddOutputFilter INCLUDES .mustache
&lt;/IfModule&gt;
&lt;/pre&gt;</description></item><item><title>Ubuntu (Debian) 架設 apache mpm worker mod_fcgid 筆記</title><link>https://blog.wu-boy.com/2011/03/ubuntu-debian-%E6%9E%B6%E8%A8%AD-apache-mpm-worker-mod_fcgid-%E7%AD%86%E8%A8%98/</link><pubDate>Thu, 17 Mar 2011 03:55:54 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2011/03/ubuntu-debian-%E6%9E%B6%E8%A8%AD-apache-mpm-worker-mod_fcgid-%E7%AD%86%E8%A8%98/</guid><description>&lt;p&gt;最近想架設 &lt;a href="http://www.redmine.org/"&gt;Redmine&lt;/a&gt; 在 &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; 伺服器上面，架設之前要先搞定 apache 搭配 mpm worker 及 mod_fcgi module，安裝步驟其實不難，就搭配懶人指令 &lt;a href="http://en.wikipedia.org/wiki/Advanced_Packaging_Tool"&gt;apt&lt;/a&gt; 就可以了。&lt;/p&gt;
&lt;h3 id="安裝-apache-mpm-worker-由於怕安裝過程會叫你把-apache2-mpm-worker-移除改裝-apache2-mpm-prefork所以安裝順序上面有些變化請參考底下"&gt;安裝 apache mpm worker 由於怕安裝過程會叫你把 apache2-mpm-worker 移除，改裝 apache2-mpm-prefork，所以安裝順序上面有些變化，請參考底下:&lt;/h3&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;# 先安裝
$ apt-get install apache2.2-bin apache2.2-common apache2-mpm-worker libapache2-mod-fcgid php5-cli php5-cgi php5-common
#後安裝
$ apt-get install apache2 php5 php5-gd php5-curl&lt;/pre&gt; 至於 PHP 5 套件就看你需要什麼就裝什麼吧，搜尋一下 php5-* 看看，apache 裝好預設看不到 PHP 網頁，也就是認不得 php type，請在 apache config 檔案加入底下</description></item><item><title>Html5 模板架構(Boilerplate)</title><link>https://blog.wu-boy.com/2010/08/html5-%E6%A8%A1%E6%9D%BF%E6%9E%B6%E6%A7%8Bboilerplate/</link><pubDate>Mon, 23 Aug 2010 14:53:35 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2010/08/html5-%E6%A8%A1%E6%9D%BF%E6%9E%B6%E6%A7%8Bboilerplate/</guid><description>&lt;p&gt;&lt;a href="https://www.flickr.com/photos/appleboy/4919688039/" title="HTML5 Boilerplate - A rock-solid default for HTML5 awesome._1282574693481 by appleboy46, on Flickr"&gt;&lt;img src="https://i1.wp.com/farm5.static.flickr.com/4095/4919688039_d7c6e91661.jpg?resize=500%2C209&amp;#038;ssl=1" alt="HTML5 Boilerplate - A rock-solid default for HTML5 awesome._1282574693481" data-recalc-dims="1" /&gt;&lt;/a&gt; 今年在 &lt;a href="http://coscup.org/2010/zh-tw"&gt;COSCUP&lt;/a&gt; 大會上最主流的議題就是 &lt;a href="http://en.wikipedia.org/wiki/HTML5"&gt;Html5&lt;/a&gt;，今天看到一個網站 &lt;a href="http://html5boilerplate.com/"&gt;HTML5 Boilerplate&lt;/a&gt;，這網站提一個全新 html 5 模板，自從離開 Dreamweaver 樣板軟體，利用 &lt;a href="http://www.pspad.com/"&gt;Pspad&lt;/a&gt; 手動撰寫 html，此網站就發揮非常大的用處，提供全新 html，CSS 以及 javascript，支援了底下很多功能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;跨瀏覽器 (IE6&amp;hellip;)&lt;/li&gt;
&lt;li&gt;支援多種 html5 Tag&lt;/li&gt;
&lt;li&gt;Compress 和 cache html 檔案&lt;/li&gt;
&lt;li&gt;CSS IE6 , IE7 Hack&lt;/li&gt;
&lt;li&gt;IE6 Png Fix (連這個都幫忙解決了)&lt;/li&gt;
&lt;li&gt;支援 CDN jQuery，避免在 local 端沒讀取到檔案 你還可以根據自己需要的功能做添加或者是減少，CSS reset、跨瀏覽器 CSS、robots.txt、Apache .htaccess cache 壓縮也有支援，如果不需要的功能，也可以參考看看，對於初學者也是非常好的學習例子。&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>[FreeBSD] update apache -&gt; 2.2.15, PHP -&gt; 5.3.2, and MySQL downgrade to 5.1.9</title><link>https://blog.wu-boy.com/2010/06/freebsd-update-apache-2-2-15-php-5-3-2-and-mysql-downgrade-to-5-1-9/</link><pubDate>Wed, 23 Jun 2010 05:46:34 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2010/06/freebsd-update-apache-2-2-15-php-5-3-2-and-mysql-downgrade-to-5-1-9/</guid><description>&lt;p&gt;昨天升級了 &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; 的 Apache, &lt;a href="http://www.php.net"&gt;PHP&lt;/a&gt;, and &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt;，遇到很多地雷阿，最多的就是 PHP 的部份，因為本來自己使用 5.2.11 版本，但是在 commit port 的時候發生去裝 5.3.2 版本，所以就直接砍掉全部重練，先是遇到 MySQL 問題，原先在 database/mysql60-server 已經被 FreeBSD 移除，任何關於 mysql60 的相關 port 都被 remove 掉了，只好 downgrade 到 mysql 5.1.48 版本，移除同時順手把 apache PHP 相關都拿掉了。&lt;/p&gt;
&lt;h3 id="移除-apache-mysql-php-相關-ports--rf-依序找尋相關-mysql-ports-移除"&gt;移除 apache mysql php 相關 ports -rf 依序找尋相關 Mysql ports 移除&lt;/h3&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;pkg_deinstall -rf mysql60-server&lt;/pre&gt; 接下來安裝 MySQL 5.1.48 Server and Client，可以找到在 
&lt;p&gt;&lt;span style="color:green"&gt;databases/mysql51-server&lt;/span&gt; and &lt;span style="color:green"&gt;databases/mysql51-client&lt;/span&gt;，直接安裝即可&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;cd /usr/ports/databases/mysql51-server &amp;&amp; make install&lt;/pre&gt; 安裝 Apache 2.2.15 
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;cd /usr/ports/www/apache22 &amp;&amp; make WITH_MPM=worker install&lt;/pre&gt; 安裝 PHP 5.3.2，FreeBSD 把 5.2.X 跟 5.3.X 分開不同資料夾 
&lt;p&gt;&lt;span style="color:green"&gt;lang/php5&lt;/span&gt;, &lt;span style="color:green"&gt;lang/php52&lt;/span&gt;，extension 也是分成兩個，所以要安裝 5.2 版本也是可以的&lt;/p&gt;</description></item><item><title>Apache 取得透過 Reverse Proxy (Varnish) 的 Client 真正 IP (mod_rpaf)</title><link>https://blog.wu-boy.com/2010/03/apache-%E5%8F%96%E5%BE%97%E9%80%8F%E9%81%8E-reverse-proxy-varnish-%E7%9A%84-client-%E7%9C%9F%E6%AD%A3-ip-mod_rpaf/</link><pubDate>Thu, 25 Mar 2010 17:21:51 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2010/03/apache-%E5%8F%96%E5%BE%97%E9%80%8F%E9%81%8E-reverse-proxy-varnish-%E7%9A%84-client-%E7%9C%9F%E6%AD%A3-ip-mod_rpaf/</guid><description>&lt;p&gt;&lt;a href="https://www.flickr.com/photos/appleboy/4462939520/" title="Flickr 上 appleboy46 的 feather"&gt;&lt;img src="https://i1.wp.com/farm3.static.flickr.com/2705/4462939520_26be3f6fa9_o.gif?resize=356%2C107&amp;#038;ssl=1" alt="feather" data-recalc-dims="1" /&gt;&lt;/a&gt; 之前介紹 &lt;a href="http://blog.wu-boy.com/2010/03/21/2054/"&gt;[FreeBSD]high performance caching reverse proxy: Varnish (安裝架設篇)&lt;/a&gt; 來當 Web 前端 &lt;a href="http://en.wikipedia.org/wiki/Reverse_proxy"&gt;Reverse Proxy&lt;/a&gt;，也有 &lt;a href="http://en.wikipedia.org/wiki/Load_balancing_(computing)"&gt;load balance&lt;/a&gt; 的功能，不過碰到這樣的環境，後端 &lt;a href="http://www.apache.org/"&gt;Apache&lt;/a&gt; Server 只會抓到 Reverse Proxy IP 來當作 log 紀錄，而無法正確取得 Client 端 IP，&lt;a href="http://varnish-cache.org/"&gt;Varnish&lt;/a&gt; 官網 &lt;a href="http://varnish-cache.org/wiki/FAQ"&gt;FAQ&lt;/a&gt; 有提到 log 檔案得的解決方法，不過在程式方面，要大量的修改，假設今天 Apache 跑10個 &lt;a href="http://httpd.apache.org/docs/2.0/vhosts/examples.html"&gt;Virtual Host&lt;/a&gt; ，不就要去改10個網站程式，背後或許是一些大型 open source 的 Project，改起來相當不容易，也很費工夫。&lt;a href="http://blog.darkhero.net/"&gt;Darkhero&lt;/a&gt; 提供了 &lt;a href="http://stderr.net/apache/rpaf/"&gt;reverse proxy add forward module for Apache (mod_rpaf)&lt;/a&gt; 模組，只要裝上這模組，Apache 就不必動到其它設定就可以正確紀錄 log 檔案，且程式都不必修改，就可以得到正確 IP 了。 FreeBSD Ports 安裝方式：&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;cd /usr/ports/www/mod_rpaf2/
make install clean&lt;/pre&gt; 修改 httpd.conf (FreeBSD: /usr/local/etc/apache22/httpd.conf) 
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;LoadModule rpaf_module libexec/apache22/mod_rpaf.so&lt;/pre&gt; 將上面 unmask，最後面加上： 
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;RPAFenable On
RPAFsethostname On
RPAFproxy_ips xxx.xxx.xxx.xxx 127.0.0.1
RPAFheader X-Forwarded-For&lt;/pre&gt;</description></item><item><title>[FreeBSD]high performance caching reverse proxy: Varnish (安裝架設篇)</title><link>https://blog.wu-boy.com/2010/03/freebsdhigh-performance-caching-reverse-proxy-varnish-and-how-to-install-it/</link><pubDate>Sat, 20 Mar 2010 16:12:44 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2010/03/freebsdhigh-performance-caching-reverse-proxy-varnish-and-how-to-install-it/</guid><description>&lt;p&gt;&lt;a href="https://www.flickr.com/photos/appleboy/4445679996/" title="Flickr 上 appleboy46 的 varnish-logo-red-64"&gt;&lt;img src="https://i2.wp.com/farm3.static.flickr.com/2695/4445679996_0a9d597a94_o.gif?resize=235%2C64&amp;#038;ssl=1" alt="varnish-logo-red-64" data-recalc-dims="1" /&gt;&lt;/a&gt; 在上禮拜跟 &lt;a href="http://blog.darkhero.net"&gt;DarkHero&lt;/a&gt; 兄聊到 &lt;a href="http://blog.darkhero.net/?p=391"&gt;How To Build a Scalable Web Site (3/6)&lt;/a&gt; 的上課講義，互相討論了 MySQL Load balance 以及 http &lt;a href="http://en.wikipedia.org/wiki/Reverse_proxy"&gt;reverse proxy&lt;/a&gt; 的方式，以前自己有用 &lt;a href="http://haproxy.1wt.eu/"&gt;HAProxy&lt;/a&gt; 當作 Web 平衡負載，順便紀錄了 &lt;a href="http://blog.wu-boy.com/2008/06/23/283/"&gt;HAProxy FreeBSD 安裝方式&lt;/a&gt;，這次要來介紹今天重點：&lt;a href="http://varnish-cache.org/"&gt;Varnish Cache Server&lt;/a&gt;，在近幾年流行的 Caching 機制，大家會想到 Squid，只要您設定良好的 Squid 參數，它一定運作的非常穩定，然而它的核心依然是 forward proxy，要架設成 Reverse Proxy 還必需要設定一些參數才可以達到，是有一定的困難性，然而 Varnish Cache Server 底層就是高效能 caching reverse proxy，也因為 Squid 是 1980 年發展出來的，程式架構過於老舊，可以參考 &lt;a href="http://varnish-cache.org/wiki/ArchitectNotes"&gt;ArchitectNotes&lt;/a&gt; 瞭解這部份詳情。也許您會問到 Varnish 可以架設成 forward proxy 嗎？答案是可以的，但是您也許不會這麼做，因為它需要 DNS 技術，以及需要一個非常大且複雜的 Varnish VCL(Varnish Configuration Language) file。 1. 今天要介紹如何在 FreeBSD 系統安裝，在介紹之前，系統必須先安裝好 apache，這樣才可以正確啟動，利用 ports 安裝：&lt;/p&gt;</description></item><item><title>[FreeBSD]安裝 apache2 (worker) + PHP5.2.6 + mod_fastcgi + php5-fcgi</title><link>https://blog.wu-boy.com/2008/09/freebsd%E5%AE%89%E8%A3%9D-apache2-worker-php526-mod_fastcgi-php5-fcgi/</link><pubDate>Sat, 13 Sep 2008 12:24:26 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/09/freebsd%E5%AE%89%E8%A3%9D-apache2-worker-php526-mod_fastcgi-php5-fcgi/</guid><description>&lt;p&gt;今天把 &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; web 改成了 &lt;a href="http://www.apache.org/"&gt;apache&lt;/a&gt; &lt;a href="http://httpd.apache.org/docs/2.0/mod/worker.html"&gt;worker&lt;/a&gt; 其實之前就已經這麼做了，只是今天加上 mod_fastcgi 我是參考 &lt;a href="http://blog.gslin.org/archives/2008/08/17/1624/"&gt;DarkKiller 大神 apache22 (worker) + mod_fastcgi + php5-fcgi&lt;/a&gt;，之前就把 Server 換成了 php5-fcgi，只不過我是搭配 &lt;a href="http://www.lighttpd.net/"&gt;Lighttpd&lt;/a&gt;，效能方面還不錯，可以參考這篇：&lt;a href="http://blog.wu-boy.com/2008/07/10/291/"&gt;[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI&lt;/a&gt;，那因為用 &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt; 的外掛模組真的太少，不像 apache 支援這麼多 module，重點是還缺少了 .htaccess 這個功能，所以大大降低大家使用 &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt;，近期內會把全部 server 換成 apache2 搭配 &lt;a href="http://www.fastcgi.com/"&gt;mod_fastcgi&lt;/a&gt;，那底下寫一下作法了：&lt;/p&gt;</description></item><item><title>[Linux] CentOS 5.1 安裝 Lighttpd + PHP5 + FastCgi + eaccelerator</title><link>https://blog.wu-boy.com/2008/07/linux-centos-51-%E5%AE%89%E8%A3%9D-lighttpd-php5-fastcgi-eaccelerator/</link><pubDate>Tue, 22 Jul 2008 07:56:09 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/07/linux-centos-51-%E5%AE%89%E8%A3%9D-lighttpd-php5-fastcgi-eaccelerator/</guid><description>&lt;p&gt;昨天網站無緣無故被擋掉，原因是我的流量網站太大，囧，因為是架設 web site，測試一下效能，我發現 &lt;a href="http://httpd.apache.org"&gt;=http://httpd.apache.org&lt;/a&gt;apache[/url] 沒辦法撐住流量跟線上人數，所以只好換成 &lt;a href="http://www.lighttpd.net"&gt;=http://www.lighttpd.net&lt;/a&gt;Lighttpd[/url] 發現效果不錯，所以又去安裝了 CentOS 版本，我是去參考底下這篇：&lt;a href="http://www.howtoforge.com/lighttpd_php5_mysql_centos5.0"&gt;Installing Lighttpd With PHP5 And MySQL Support On CentOS 5.0&lt;/a&gt;，這一篇我覺得寫的還ok，但是因為 Centos 如果你想用 yum 安裝 &lt;a href="http://www.lighttpd.net"&gt;=http://www.lighttpd.net&lt;/a&gt;Lighttpd[/url] 就要先裝 rpmforge-release package 這個東西，這樣才可以找到。 首先先看你的版本再來抓：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;RHEL5 / CentOS-5 i386: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm&lt;/a&gt; x86_64: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86&lt;/a&gt;_64.rpm RHEL4 / CentOS-4 i386: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm&lt;/a&gt; x86_64: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.x86"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.x86&lt;/a&gt;_64.rpm RHEL3 / CentOS-3 i386: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el3.rf.i386.rpm"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el3.rf.i386.rpm&lt;/a&gt; x86_64: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el3.rf.x86"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el3.rf.x86&lt;/a&gt;_64.rpm RHEL2.1 / CentOS-2 i386: &lt;a href="http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el2.rf.i386.rpm"&gt;http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el2.rf.i386.rpm&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>[文件]Reverse Proxy 一些資料 for Apache Lighttpd Squid</title><link>https://blog.wu-boy.com/2008/07/%E6%96%87%E4%BB%B6reverse-proxy-%E4%B8%80%E4%BA%9B%E8%B3%87%E6%96%99-for-apache-lighttpd-squid/</link><pubDate>Tue, 15 Jul 2008 12:45:04 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/07/%E6%96%87%E4%BB%B6reverse-proxy-%E4%B8%80%E4%BA%9B%E8%B3%87%E6%96%99-for-apache-lighttpd-squid/</guid><description>&lt;p&gt;最近都在找如何增加 WEB 效能的方式，大概找一下 Squid Reverse Proxy 跟 Apache Reverse Proxy，底下是一些文件，大概網路上找到的，整理一下 &lt;a href="http://peterkim.hellpara.org/blog/?p=356"&gt;Apache2 as a Reverse Proxy&lt;/a&gt; &lt;a href="http://lightyror.wordpress.com/2006/12/30/ruby-on-rails-%E4%BC%BA%E6%9C%8D%E5%99%A8%E6%9E%B6%E8%A8%AD%E5%8E%9F%E7%90%86/"&gt;ruby-on-rails-伺服器架設原理&lt;/a&gt; &lt;a href="http://www.study-area.org/tips/r-proxy_20030117.txt"&gt;R-Proxy – 使用Apache架設&lt;/a&gt; &lt;a href="http://www.lccnet.com.tw/commercial/e-paper/200803/new-5.html"&gt;使用 Reverse Proxy代理服務&lt;/a&gt; &lt;a href="http://www.mysqlperformanceblog.com/2008/06/17/lighttpd-as-reverse-proxy/"&gt;Lighttpd as reverse proxy&lt;/a&gt; &lt;a href="http://www.visolve.com/squid/whitepapers/reverseproxy.php"&gt;Reverse Proxy Using Squid&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[轉貼] RoR：Ruby on Rails的部署方案選擇</title><link>https://blog.wu-boy.com/2008/07/%E8%BD%89%E8%B2%BC-ror%EF%BC%9Aruby-on-rails%E7%9A%84%E9%83%A8%E7%BD%B2%E6%96%B9%E6%A1%88%E9%81%B8%E6%93%87/</link><pubDate>Thu, 10 Jul 2008 02:04:01 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/07/%E8%BD%89%E8%B2%BC-ror%EF%BC%9Aruby-on-rails%E7%9A%84%E9%83%A8%E7%BD%B2%E6%96%B9%E6%A1%88%E9%81%B8%E6%93%87/</guid><description>&lt;p&gt;我沒在玩 &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;，但是底下這一篇我覺得寫的不錯，可以參考看看，裡面有介紹一下目前當紅 web daemon 的一些基本知識&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;RoR的部署方式從架構上來說分為前端和後端： 一、前端 前端的作用就是處理靜態資源，將動態請求分發到後端，有時候也帶有一些額外的功能，例如對特定URL進行rewrite和redirect，對HTTP輸出進行gzip壓縮等等。 前端目前已知的可以選擇apache, lighttpd, litespeed, nginx, haproxy 1、apache2.2 apache是全球市場佔有率最高的web server，超過全球互聯網網站50%的網站都用apache。apache2.2 + mod_proxy_balancer是一個非常流行，非常穩定的方案。 使用apache2.2唯一的問題就是apache的性能和後面那些輕量級web server相比，差太遠了。一方面在處理靜態請求方面apache要比lighttpd慢3-5倍，內存消耗和CPU消耗也高出一個數量級，另一方面 mod_proxy_balancer的分發性能也不高，比haproxy差很遠。 2、lighttpd lighttpd 是一個輕量級高性能web server，一個在MySQL Inc工作的德國人寫的。性能很好，內存和CPU資源消耗很低，支持絕大多數apache的功能，是apache的絕好替代者。目前lighttpd已經上升到全球互聯網第四大web server，市場佔有率僅此於apache，IIS和Sun。 lighttpd唯一的問題是proxy功能不完善，因此不適合搭配mongrel來使用。lighttpd下一個版本1.5.0的proxy模塊重寫過了，將會解決這個問題。 3、litespeed 和 lighttpd差不多，商業產品，收費的。比lighttpd來說，多一個web管理界面，不用寫配置文件了。litespeed專門為單機運行的 RoR開發了一個lsapi協議，號稱性能最好，比httpd和fcgi都要好。他的proxy功能比lighttpd完善。 litespeed 的缺點我卻認為恰恰是這個lsapi。因為lsapi不是web server啟動的時候啟動固定數目的ruby進程，而是根據請求繁忙程度，動態創建和銷毀ruby進程，貌似節省資源，實則和apache2.2進程模型一樣，留下很大的黑客攻擊漏洞。只要黑客瞬時發起大量動態請求，就會讓服務器忙於創建ruby進程而導致CPU資源耗盡，失去響應。 當然，litespeed也支持httpd和fcgi，這個和lighttpd用法一樣的，到沒有這種問題。 4、nginx 一個俄國人開發的輕量級高性能web server，特點是做proxy性能很好，因此被推薦取代apache2.2的mod_proxy_balancer，來和mongrel cluster搭配。其他方面和lighttpd到差不多。 要說缺點，可能就是發展的時間比較短，至今沒有正式版本，還是beta版。沒有經過足夠網站的驗證。 5、haproxy 就是一個純粹的高性能proxy，不處理靜態資源的，所有請求統統分發到後端。 二、後端 後端就是跑ruby進程，處理RoR動態請求了。運行後端ruby進程有兩種方式： 1、fcgi方式 準確的說，不能叫做fcgi方式，其實就是啟動一個ruby進程，讓這個ruby進程監聽一個tcp/unix socket，以fcgi協議和前端通訊。所以fcgi不是指ruby進程的運行方式，而是ruby進程使用的通訊協議。這就好比你tomcat可以用 http也可以使用ajp通訊一樣，tomcat自己的運行方式都一樣的，只是通訊方式不一樣。 fcgi方式啟動ruby進程，可以使用lighttpd帶的一個spawn-fcgi工具來啟動(JavaEye目前採用這種方式)。 值得一提的是，apache2.2的mod_fastcgi的方式和上面還不太一樣，由apache動態創建fcgi進程和管理fcgi進程，這種方式和 litespeed的lsapi面臨的問題是一樣的，此外apache的mod_fastcgi自己也有很多嚴重的bug，是一種很糟糕的部署方式。這種糟糕的部署方式也敗壞了fcgi的名聲。 fastcgi只是一種協議，雖然古老，但並不是不好用，http協議也很古老。沒有必要因為 apache的mod_fastcgi的運行方式的問題而連帶把fastcgi都一同否定了。fastcgi只是一個協議(程序之間的語言)，是 apache的mod_fastcgi這個模塊有問題。打個比方，有個人英語水平很差，和你用英語對話，總是結結巴巴的，那你說是英語(fastcgi) 這種語言有問題呢？還是和你對話的這個人 (mod_fastcgi)有問題呢？ 2、http方式 也就是用mongrel去跑ruby進程，由於mongrel實際上已經是一個簡單的http server，所以也可以單獨作為web server使用。mongrel現在越來越受歡迎了。 用fcgi方式還是http方式，我個人覺得區別不大，關鍵還是看應用的場合，一般而言，推薦的搭配是： lighttpd ＋ fcgi 或者 nginx ＋mongrel，而apache因為性能差距，而不被推薦。 JavaEye為什麼用lighttpd ＋ fcgi呢？原因如下： 1) lighttpd發展了好幾年了，市場佔有率也相當高，是一個經過實踐檢驗的server，它的文檔也很全；而nginx還沒有經過足夠的市場檢驗，文檔也很缺乏 2) JavaEye的ruby進程和web server在一台機器上面跑，通過unix socket使用fcgi協議通訊可以避免tcp的網絡開銷，其通訊速度比使用tcp socket使用http協議通訊要快一些。 什麼場合使用haproxy？ 大規模部署，例如你的RoR應用到十幾台服務器上面去，你用haproxy會更好，可以方便的添加刪除應用服務器節點，proxy性能更好。 資料來源： Csdn – &lt;a href="http://news.csdn.net/n/20071229/112274.html"&gt;http://news.csdn.net/n/20071229/112274.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI</title><link>https://blog.wu-boy.com/2008/07/freebsd-lighttpd-php-mod_proxy-fastcgi/</link><pubDate>Thu, 10 Jul 2008 01:51:23 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/07/freebsd-lighttpd-php-mod_proxy-fastcgi/</guid><description>&lt;p&gt;最近一直在玩 &lt;a href="http://www.lighttpd.net/"&gt;Lighttpd&lt;/a&gt; 這一套 web 的 daemon，我覺得這一套還蠻好用的，不像 Apache 掛載這麼多 module 結果吃還蠻大的資源，加上 Apache 預設跑 MPM prefork 所以如果大型網站大概就會掛掉，線上人數一堆，就會快撐不住了，所以用 &lt;a href="http://httpd.apache.org/docs/2.0/mod/worker.html"&gt;MPM worker&lt;/a&gt; 或者是 &lt;a href="http://httpd.apache.org/docs/2.2/mod/event.html"&gt;MPM Event&lt;/a&gt;，然後 &lt;a href="http://www.lighttpd.net/"&gt;Lighttpd&lt;/a&gt; 本身還支援 &lt;a href="http://trac.lighttpd.net/trac/wiki/Docs%3AModRewrite"&gt;mod_rewrite&lt;/a&gt; 的功能，可以參考我之前寫的 &lt;a href="http://blog.wu-boy.com/2008/07/03/287/"&gt;[FreeBSD]Lighttpd + php5 + 解決 wordpress Permalinks 問題&lt;/a&gt;，不過最近遇到一個很奇怪問題，那就是 &lt;a href="http://www.lighttpd.net/"&gt;Lighttpd&lt;/a&gt; 會自己掛點，但是我看 message 跟 error log 底下是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2008-07-10 09:08:31: (server.c.1258) NOTE: a request for /wp-includes/js/scriptaculous/effects.js?ver=1.8.0 timed out after writing 32991 bytes. We waited 360 seconds. If this a problem increase server.max-write-idle&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>[FreeBSD]Lighttpd + php5 + 解決 wordpress Permalinks mod_write</title><link>https://blog.wu-boy.com/2008/07/freebsdlighttpd-php5-%E8%A7%A3%E6%B1%BA-wordpress-permalinks-mod_write/</link><pubDate>Thu, 03 Jul 2008 08:55:50 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/07/freebsdlighttpd-php5-%E8%A7%A3%E6%B1%BA-wordpress-permalinks-mod_write/</guid><description>&lt;p&gt;今天轉換跑道了，最近玩 Apache 玩的很不順，因為只要線上人數一多，就會吃很多記憶體，導致必須重新開 Apache，所以今天來玩看看 &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt;試試看，看看結果如何，其實轉換到 &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt; 需要注意很多事情，那就是 Lighttpd 並不支援 .htaccess 檔案，所以 mode_rewrite 功能要設定到 Lighttpd.conf 裡面，然後也去找看看 Lighttpd 的 virtual host 的寫法，然後還有一點就是 wordpress 的 Permalinks 的問題，算是今天都解決了，底下來寫一下作法：&lt;/p&gt;</description></item><item><title>[FreeBSD]Apache 噴出 signal Segmentation fault (11)</title><link>https://blog.wu-boy.com/2008/07/freebsdapache-%E5%99%B4%E5%87%BA-signal-segmentation-fault-11/</link><pubDate>Tue, 01 Jul 2008 06:39:04 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/07/freebsdapache-%E5%99%B4%E5%87%BA-signal-segmentation-fault-11/</guid><description>&lt;p&gt;最近在玩 FreeBSD 伺服器的加強效能，其實我自己試了很多套：&lt;a href="http://eaccelerator.net/"&gt;eAccelerator&lt;/a&gt;，&lt;a href="http://pecl.php.net/package/APC"&gt;Pear APC&lt;/a&gt;，跟 &lt;a href="http://www.zend.com/en/products/guard/optimizer/"&gt;Zend Optimizer&lt;/a&gt;，這三套都是可以加速php的速度，當你的 apache 效能遇到瓶頸，就可以選用這三個來改善網頁瀏覽速度，不過應該沒有人三個都用吧，畢竟三個東西，感覺都是cache幫助，所以達成我們所想要的要求，有時候並不是全部安裝就是代表你的伺服器一定會超快，因為我的經驗是三個不能同時裝，只要裝了兩個都會出問題，這是我這幾天測試的結果，只要裝了Pear APC，就不能裝Zend Optimizer跟eAccelerator了，因為我的 httpd 的 log 會噴出底下訊息：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;signal Segmentation fault (11) 跟 pid 15879 (httpd), uid 80: exited on signal 11&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>[FreeBSD &amp; Linux]網站分流：簡易架設 HAProxy 伺服器</title><link>https://blog.wu-boy.com/2008/06/freebsd-linux%E7%B6%B2%E7%AB%99%E5%88%86%E6%B5%81%EF%BC%9A%E7%B0%A1%E6%98%93%E6%9E%B6%E8%A8%AD-haproxy-%E4%BC%BA%E6%9C%8D%E5%99%A8/</link><pubDate>Mon, 23 Jun 2008 14:07:23 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/06/freebsd-linux%E7%B6%B2%E7%AB%99%E5%88%86%E6%B5%81%EF%BC%9A%E7%B0%A1%E6%98%93%E6%9E%B6%E8%A8%AD-haproxy-%E4%BC%BA%E6%9C%8D%E5%99%A8/</guid><description>&lt;p&gt;最近在玩這套 Web 的 Load Balance 軟體，其實這是之前我寫的一篇：&lt;a href="http://blog.wu-boy.com/2008/06/01/274/"&gt;[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing&lt;/a&gt;，有網友留言給我說可以玩看看 &lt;a href="http://haproxy.1wt.eu/"&gt;HAProxy&lt;/a&gt;，這樣的確改善了很多效能，而且也是正確達到 load balance 的效果，不然用 DNS Robin DNS Load Balancing 的方式的卻沒辦法做的很好，關於 HAProxy 在 google 了一下，好像國內很少人在寫這方面的教學，我自己來寫一下筆記好了，其實我還不是對設定很熟悉，只是大概知道他的原理罷了，底下我們來看看官網的一張圖 &lt;a href="https://www.flickr.com/photos/appleboy/2603471691/" title="haproxy-pmode by appleboy46, on Flickr"&gt;&lt;img src="https://i1.wp.com/farm4.staticflickr.com/3211/2603471691_6d083bbeed.jpg?resize=363%2C290&amp;#038;ssl=1" alt="haproxy-pmode" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>基本優化 tuning apache 跟 tuning mysql 跟 php 效能</title><link>https://blog.wu-boy.com/2008/06/%E5%9F%BA%E6%9C%AC%E5%84%AA%E5%8C%96-tuning-apache-%E8%B7%9F-tuning-mysql-%E6%95%88%E8%83%BD/</link><pubDate>Wed, 18 Jun 2008 13:42:57 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/06/%E5%9F%BA%E6%9C%AC%E5%84%AA%E5%8C%96-tuning-apache-%E8%B7%9F-tuning-mysql-%E6%95%88%E8%83%BD/</guid><description>&lt;p&gt;最近在玩優化 Apache 跟 MySQL 部份，然後就在 google 上面找一些資料，當然對我自己的網站當然改變不少，速度有增快許多，所以來紀錄一下，其實都是還蠻基本的改 config 檔案就可以了 1. apache 部份 for FreeBSD&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;#
# 利用 ports 安裝
# 在安裝 Apache 時，加入此參數 WITH_MPM=XXXX 即可。 
#
cd /usr/ports/www/apache22 ; make WITH_MPM=worker install clean&lt;/pre&gt; 如果是要裝在 Linux 機器的話，可能要自己編譯，在 Apache 2.0 有很多效能上得改變，所以原本預設是 prefork 
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;#
# 編譯加上 
# 
./configure --with-mpm=worker&lt;/pre&gt; 在 Ubuntu 底下作法很奇怪，利用 apt-get 方式不能安裝 mpm worker，因為你安裝 php 的時候他會幫你移除，然後裝上 prefork，所以很奇怪，這部份我還不知道怎麼解決。</description></item><item><title>[FreeBSD] 安裝 PHP APC 加速網頁速度</title><link>https://blog.wu-boy.com/2008/06/freebsd-%E5%AE%89%E8%A3%9D-php-apc-%E5%8A%A0%E9%80%9F%E7%B6%B2%E9%A0%81%E9%80%9F%E5%BA%A6/</link><pubDate>Thu, 05 Jun 2008 01:00:23 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/06/freebsd-%E5%AE%89%E8%A3%9D-php-apc-%E5%8A%A0%E9%80%9F%E7%B6%B2%E9%A0%81%E9%80%9F%E5%BA%A6/</guid><description>&lt;p&gt;最近在維護自己的機器，發現網站每秒 request 只要10幾次就會感覺吃很多資源，然後莫名 CPU 飆高到100%，後來只好去找怎麼去 tuning Apache，MySQL，PHP，至於改善 apache 跟 MySQL 我先不講了，我之後會在寫，我先處理了加速 PHP 的部份，我是安裝了 &lt;a href="http://pecl.php.net/package/APC"&gt;APC&lt;/a&gt;（Alternative PHP Cache），來改善執行 PHP 的速度，這個程式必須先安裝好 &lt;a href="http://pecl.php.net/"&gt;PECL&lt;/a&gt;(PHP Extension Community Library)，再來安裝 APC 就沒問題了。 1. 首先安裝 APC&lt;/p&gt;
&lt;pre class="brush: bash; title: ; notranslate" title=""&gt;#
# 先切換到該軟體下面
#
cd /usr/ports/www/pecl-APC/; make install clean
&lt;/pre&gt;</description></item><item><title>[Apache] mod_rewrite 進階用法，網域 redirect</title><link>https://blog.wu-boy.com/2008/02/apache-mod_rewrite-%E9%80%B2%E9%9A%8E%E7%94%A8%E6%B3%95%EF%BC%8C%E7%B6%B2%E5%9F%9F-redirect/</link><pubDate>Sun, 17 Feb 2008 15:48:10 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2008/02/apache-mod_rewrite-%E9%80%B2%E9%9A%8E%E7%94%A8%E6%B3%95%EF%BC%8C%E7%B6%B2%E5%9F%9F-redirect/</guid><description>&lt;p&gt;我對 mod_rewrite 的技術相當有興趣，最近又有人在 ptt Linux 版上問到這相關的問題，如下&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我用的是虛擬主機 (web hosting) 他的管理是這樣的, 不論代管哪個domain 一律都是對應到 /home/user/public_html 這個目錄下 也就是說, 1.com 跟 2.com 都會對到 ~/public_html 問題是: –&amp;gt; 我希望有人輸入 “1.com” 時, 就是讀 ~/public_html/data1 –&amp;gt; 有人讀 “2.com” 時, 就是讀 ~/public_html/data2 當然目前如果都不做設定, 那就是要用 http;//1.com/data1/ 跟 http;//2.com/data2/ 才能答成相同功能. 請問 .htaccess 有辦法改寫這樣的狀況嗎.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>[apache] mod cband 頻寬限制</title><link>https://blog.wu-boy.com/2007/01/apache-mod-cband-%E9%A0%BB%E5%AF%AC%E9%99%90%E5%88%B6/</link><pubDate>Mon, 22 Jan 2007 16:09:27 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2007/01/apache-mod-cband-%E9%A0%BB%E5%AF%AC%E9%99%90%E5%88%B6/</guid><description>&lt;p&gt;這個MODULE相當好用,這個可以用來解決架設APACHE頻寬問題 安裝方式:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For Linux: 先去下載軟體: mod_cband 目前釋出到 0.9.7.5版 下載到 /tmp/ 資料夾裡面 解壓縮: tar -zxvf mod-cband-0.9.7.5.tgz 如果你有安裝 apsx2的話 請用下面安裝 $ cd mod-cband-0.9.7.5 $ ./configure $ make $ make install 如果沒有安裝 apsx2的話 請用下面安裝 重新編譯 configure –add-module=../mod-cband/mod_cband.c –enable-shared=cband –enable-module=so 設定方法: * 修改httpd.conf 加上2行CBandScoreFlushPeriod 1 CBandRandomPulse On mkdir /var/www/scoreboard chown apache:apache /var/www/scoreboard * 設定 VirtualHost &amp;lt;VirtualHost 1.2.3.4&amp;gt; ServerName &lt;a href="https://www.example.com"&gt;www.example.com&lt;/a&gt; ServerAdmin &lt;a href="mailto:webmaster@example.com"&gt;webmaster@example.com&lt;/a&gt; DocumentRoot /var/www CBandSpeed 1024 10 30 CBandRemoteSpeed 20kb/s 3 3 &lt;/VirtualHost&gt; 說明:# 100MB virtualhost bandwidth limit CBandLimit 100M # Maximal 1024kbps speed for this virtualhost # Maximal 10 requests per second for this virtualhost # Maximal 30 open connections for this virtualhost限制該網域總頻寬跟連線數目 CBandSpeed 1024 10 30# Maximal 10kB/s speed, 3 requests/s and 2 open connections for any remote client CBandRemoteSpeed 10kb/s 3 2 4個禮拜清除設定一次# a period of time after which the scoreboard will be cleared (4 weeks) CBandPeriod 4W # define ‘class_1′ &lt;CBandClass class_1&gt; CBandClassDst 217.172.231.67 CBandClassDst 127/8 CBandClassDst 192.168.0.0/24 CBandClassDst 10.0.0.20 &lt;/CBandClass&gt; # define ‘class_2′ &lt;CBandClass class_2&gt; CBandClassDst 192.168.100.100 CBandClassDst 153.19/16 &lt;/CBandClass&gt; &lt;CBandUser dembol&gt; CBandUserLimit 1000000 CBandUserExceededURL &lt;a href="http://edns.pl/bandwidth"&gt;http://edns.pl/bandwidth&lt;/a&gt;_exceeded.html CBandUserScoreboard /home/dembol/write/user.dembol.scoreboard# 500MB limit for ‘class_2′ CBandUserClassLimit class_2 500000 &lt;/CBandUser&gt; 實作部份: &lt;CBandClass local_class&gt; CBandClassDst 127/8 CBandClassDst 192.168.0.0/24 &lt;/CBandClass&gt; &amp;lt;VirtualHost *:80&amp;gt; ServerAdmin &lt;a href="mailto:appleboy.tw@gmail.com"&gt;appleboy.tw@gmail.com&lt;/a&gt; DocumentRoot /var/www/html ServerName nas.th.gov.tw ErrorLog logs/nas.th.gov.tw-error_log CustomLog logs/nas.th.gov.tw-access_log common CBandSpeed 1024 200 200 CBandRemoteSpeed 1024kb/s 50 50 CBandClassRemoteSpeed local_class 1000Gbps 1000 1000 CBandLimit 10G CBandPeriod 1W CBandScoreboard /var/run/apache2/default.scoreboard &lt;/VirtualHost&gt; 如果要看SERVER-Status的話 也可以設定在httpd.conf就好 # # mod_cband # &amp;lt;Location /cband-status&amp;gt; SetHandler cband-status &lt;/Location&gt;&lt;/p&gt;</description></item></channel></rss>