HAproxy 搭配 Nginx port redirect issue

nginx-logo

HAproxy 是一套高效能分散式系統軟體,後端可搭配 Web 或 SQL 服務,這次在後端搭配 Nginx 出現 port redirect 問題,問題很簡單,在 Haproxy 設定 80 port 對應到內部三台 Nginx 機器,但是 Nginx port 設定 8080,這樣當我們在瀏覽網址如下:

http://aaa.bbb.ccc.ddd/test (請注意,最後沒有 slash 喔) 你會發現 Nginx 將網址轉成

http://aaa.bbb.ccc.ddd:8080/test/ 為了避免 Nginx 自動將 port 加入到網址列,我們可以透過設定 port_in_redirect,Nginx 預設將此設定為 On,所以將此設定為 off,並且重新啟動 Nginx 即可

port_in_redirect off;

How to install Gearman on Ubuntu or Debian with MySQL 安裝測試篇

Gearman 可以在背景幫忙處理繁瑣的工作,例如壓縮影片、處理縮圖、發送認證信…等,這次不會提到太多 Gearman 介紹,如果想瞭解 Gearman 可以參考小鐵兄寫的 Gearman 心得,此篇會筆記如何在 Ubuntu or Debian 安裝 Gearman 搭配 MySQL 服務,當然如果你不是使用 MySQL,也可以另外搭配 MemcachedSQLite 都可以

[Read More]

Install Nginx + spdy module on Ubuntu or Debian

nginx-logo
上一篇提到

nginx 1.4.0 釋出並支援 SPDY,教學環境是 CentOS,這次在 Ubuntu 環境編譯遇到

/usr/bin/ld: cannot find -lperl 找不到 perl library,解法可以透過 aptitude 安裝 libperl5.14,安裝好後,到 /usr/lib 底下找到 libperl.so.5.14.2,由於檔案命名關係,請用 ln 將檔案 link 成 libperl.so

$ ln -s libperl.so.5.14.2 libperl.so
接著可以正確編譯了,底下安裝相關套件
$ aptitude -y install libpcre3-dev libgd-dev libgd2-xpm-dev libgeoip-dev

Galera Cluster for MySQL Multi-master Replication

galera_mysql_replication
最近公司買了幾台機架伺服器來處理 HTTP 跟 DB Load balancer,要做到 DB 的分散式架構,首先需要同步多台機器資料,也就是寫入或更動任意一台單筆資料,另外平行的機器也會同時進行更新。同步的好處可以用來做備援及分散處理連線,而要做到此功能,可子參考網路上評價不錯的

Galera Cluster for MySQL 方案。本篇會介紹在 UbuntuCentOS 6.x final 版本如何安裝 Galera 伺服器套件及設定。要架設 Galera Cluster Server,有兩種套件選擇,一個是 Percona XtraDB Cluster 另一個是 MariaDB Galera Cluster,這次作者會介紹後者的安裝。

Galera Cluster 介紹 為什麼要選擇 Galera Cluster Server,它有什麼優點及功能呢?MySQL/Galera 是一套可以同步多台 MySQL/InnoDB 機器的叢集系統,底下可以列出功能。

  • 同步複製資料
  • 可讀取和寫入叢集系統內任一節點
  • 自動偵測節點錯誤,如果有節點當機,則叢集系統自動移除該節點
  • 可任意擴充節點
  • 採用 row level 方式來平行複製資料 從上面功能看來,我們可以平行任意擴充節點,動態增加伺服器到叢集系統,要做到上面功能,就是利用

Galera library 來做到同步資料處理,同步的詳細細節,可以參考 Galera library 連結。這邊就不再多描述了。

[Read More]

PHP MVC Framework 搭配 Nginx + PHP-FPM 設定檔

Laravel PHP Framework
相信大家都知道

Nginx 搭配 PHP-FPM 用起來效能還不錯,這次來筆記如何設定 Nginx 去除 PHP MVC Framework 討厭的 index.php 字串,不管是 LaravelCodeIgniter 教學文件都是在 Apache 設定 .htaccess 來達成 Cleaner URL,Apache 最大好處支援 .htaccess,但是 Nginx 也有強大的效能,此篇紀錄如何設定 Nginx 達成 mod_rewrite 效果。

[Read More]

Ubuntu 停止使用 GUI 介面 12.04 LTS

今天又拿到同事一台電腦來搞 Web Server,原先安裝 Ubuntu Desktop 要把它關閉,避免佔用太多資源,12.04 採用 LightDM 來管理 X Display,輕量級及高效能管理工具,直接停止 LightDM 可以直接用底下 command line。 $ service lightdm stop 如果開機直接不執行 X Display,可以透過底下步驟, 編輯 /etc/default/grub 用您個人喜歡的編輯器打開 /etc/default/grub 並且找到底下字串 [Read More]

解決 Ubuntu MP3 亂碼

在 Ubuntu 底下使用 Rhythmbox Music Player 來聽音樂,但是 import 整個 MP3 目錄之後,會看到全部都是亂碼的列表,解決方式就是用 EasyTag 軟體先將 MP3 標題轉碼,方式也很簡單,底下跟著操作就可以了。

安裝 EasyTag 透過 apt-get 方式安裝

$ sudo aptitude -y install easytag

轉馬步驟 打開偏好設定(Alt+P)

Screenshot from 2012-07-29 11:27:37 看到左下角(Character Set for reading ID3 Tag3),先選擇您的語言,看是中文歌單,還是日文,選完之後先將程式關閉,關閉之前如果系統通知說要轉換,請務必先取消,之後再打開此軟體,直到看到歌單 Tags 可以正確顯示,才進行轉換。 參考網站: [Ubuntu]MP3 tag亂碼解決—不用任何指令

[筆記] 解決 apache mod_fcgid: HTTP request length 136000 (so far) exceeds MaxRequestLen (131072)

logo-Ubuntu
上次寫了一篇

Ubuntu 10.10 (Maverick) 架設 Nginx + PHP FastCGI,不過在 PHP 上傳檔案部份發現了問題,打開 /var/log/apache2/error.log 發現底下錯誤訊息:

mod_fcgid: HTTP request length 136000 (so far) exceeds MaxRequestLen (131072) 上網找了一下是 fcgid.conf 設定錯誤,解決方式非常簡單,只要打開 /etc/apache2/mods-available/fcgid.conf,將底下內容

[Read More]

PHP 程式設計師必備 Xdebug extension 安裝 on Ubuntu

xdebug-logo
之前寫了一篇

在 FreeBSD 的安裝方式,這次來紀錄如何在 Ubuntu 系統上安裝 Xdebug PHP extension,開發網頁有太多的 debug 工具,其實最重要只要找到合適的開發環境,縮短專案開發程式時間,那底下就是介紹如何安裝在 Ubuntu 12.04 系統上。

系統安裝 透過 Ubuntu 內建程式 apt 安裝即可

# php xdebug
aptitude -y install php5-dev
aptitude -y install php-pear
pecl install xdebug
[Read More]

在 Ubuntu 10.10 (Maverick) 架設 Nginx + PHP FastCGI

logo-Ubuntu
今天來筆記如何在

Ubuntu 底下完整安裝 Nginx + PHP FastCGI,以及了解 Nginx 基本設定。我想大家都知道 Apache 是一個很好的 Web Server 伺服器,也常常用在個人網站,或者一般小型專案,網路上也有一堆懶人包,如 Appserv, Xampp,對於新手入門來說 Apache 是一個很好的選擇,但是您會發現用了 Apache 後,系統記憶體常常飆高 XD,載入太多額外不必要的模組,所以非常肥大,那這次就來嘗試另外一套 Web 伺服器 Nginx 吧。

[Read More]