2014/06/23

虛擬站台,使用apache2將多個網站放同一台伺服器

△注意:本文是配合 Ubuntu Server 14.04 LTS 安裝

一般架網站,大都多是一台伺服器對應一個網址,供使用者連線使用,這沒什麼不好,就是把組織要呈現的資訊公告出來,如果想要呈現的資訊比較多,又或者是資訊的種類比較不同,我們會想要把網頁資訊做區分,最簡單的方法是建子資料夾。

假設我們的網址叫www.example.org,對應到apache2伺服器是/var/www/html中的網頁資料,然後我們用資料夾來區分不同種的網頁資料,就在/var/www/html下建資料夾,也許是aaa與bbb,使用者在連網頁時,就是改輸入www.example.org/aaawww.expampleorg/bbb,就可以達成分類的目標了(會看到不同的內容)。

再更進階一點的方式,也就是這一篇的主題virtualhost,還是會使用不同的資料夾區分資料,但是使用者再連線時,是輸入不同的名字做區別;這個方法也適用於將多個不同的站台做合併,比如說,我們本來有www.example.org與forum.example.org兩個網站,分別在不同的網頁伺服器上,但是對外的IP不夠了,我們想要把他們做合併,這樣的情形也可以來使用apache2的virtualhost功能。


▲ 圖一、把兩個站台放在同一個伺服器中

<more...>

#使用apachectl -S可以看到virtualhost的設定

2014/06/13

網頁負載平衡 - haproxy

要架網站就把linux中apache(or lighttpd or ...)與其它需要的功能開起來,再把網頁資料放進去,dns設定好,讓使用者找的到,非常簡單的網站就可以開張了。如果網頁比較吃資源,或是來訪的人比較多,一台伺服器會不夠力,這也簡單,一台不夠,咱們就變兩台伺服器,再不夠就變三台,只要有錢買設備,伺服器當然可以變多,難的是怎叫使用者會怎麼連到不同台的伺服器呢?我認為比較簡單的方法使用dns(可參考網域名稱解析伺服器服務- bind9),以兩個伺服器為例,兩台伺服器會佔用不同的IP,把資料設到dns中,被查詢時dns會依順序給出IP結果,假設我們的網頁叫www.example.org,在dns中設定是:
www   IN      A       192.168.1.11
www   IN      A       192.168.1.12

在使用者上網,輸入網頁網域名www.example.org時,第一個人會得到第一組IP,第二個會會第到第二組IP,第三個人會拿到第一組IP,這個方法叫dns round-robin,非常的簡單,但是可能不是很多人用,在這個情景中,萬一其中一台掛點了,那連線來的人,就要分運氣好或不好,好的人會正常看到網頁,運氣不好的人則看到fail。dns round-robin還有一個問題是,我們可能會需要很多public ip供網頁伺服器使用,多IP就代表網路的費用會變高呀!

管理提供服務網頁的伺服器要變成多台,還要有能力看到下面的伺服器是不是還正常工作,讓使用者在連入時,可以連接到正常的伺服器中,這項工作可以透過haproxy來完成。
註:haproxy是幫忙選機器,可在各伺服器間的資料要自行維護(rsync也是一個解決方法),以免看到不同台伺服器,然後呈現出不同的網頁資訊。

使用haproxy時,連到網頁的網路架構要修改一下,把直接對外的網頁伺服器放到haproxy的後面,一樣假設我們的網站叫www.example.org,這時它所要mapping的ip就不在是網頁伺服器的ip,而是haproxy的(在以下的範例中,將使用192.168.1.10做為haproxy的ip)。

▲ 圖一、使用haproxy的簡單架構

2014/05/01

xubuntu 12.04 升級到 14.04

下指令

  • update-manager -d

後面的參數 -d 一定要下,才會出現有新的release可以升級
點選畫面上出現的upgrade,再來就是等待下載資料與升級的完成~

升級的動作就是下圖中說的這些,做到最後重開機,就完成升級了

註:其實之前做伺服器的升級都是用
  • do-release-upgrade 

不過很奇怪,在xubuntu下他會出現下列訊息,然後就不能更新
Checking for a new Ubuntu release
No new release found

2014/04/24

新增來自網路的儲存空間 - iscsi target

△注意:本文是配合 Ubuntu Server 14.04 LTS 安裝

ubuntu 出14.04長期支援版了,又有新版的系統與工具可以使用了,可喜可賀~可喜可賀~。

伺服器的空間使用情景,最早就是機器可以放多少顆硬碟,就是多少的空間(做raid的部份先不看),萬一伺服器裡面擺不下,那就是擺伺服器外面,再用傳輸線連起來,這樣子的方案叫DAS (Direct-attached storage),某一台伺服器的儲存空間比較多,有能力透過網路分享給別人使用,這樣叫NAS(Network-attached storage,參考網路檔案系統 - NFS),想要專門的網路儲存區,做多台伺服器對多台儲存伺服器的環境,最先是使用光纖方案叫SAN( storage area network),可這個方案貴,要有HBA/SAN Switch等設備的投資,剛說了SAN的傳輸是透過光纖,如果改架構變成一般網路,儲存空間用比較大容量的伺服器,再配上ubuntu與open-iscsi,這樣也不失為一種好的解決方案(IP SAN)。


▲ 圖一、由儲存伺服器中要空間當本機的硬碟

2014/04/18

ubuntu 14.04LTS出來了

新的長期支援版 ubuntu 14.04LTS出來了,在這裡可以下載
http://www.ubuntu.com/download/server

個人電腦版
http://www.ubuntu.com/download/desktop

也可以考慮比較不吃資源的xubuntu
http://xubuntu.org/getxubuntu/


ubuntu  14.04伺服器新功能看ReleaseNotes,在下面
https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes

節錄一些releasenotes是我關心的部份
python是3.4  (12.04是2.7)
openstack 2014.1(icehouse)
mysql是5.5,但是可以改用mysql 5.6或maria 5.5
apache變2.4 (之前是2.2)
php是5.5 (之前是5.3,弱點偵測會建議要升到5.3.6以上)

現有12.04的設備可以保待現況不升級,它安全更新到April 2017,還有3年
https://wiki.ubuntu.com/Releases (end of life date)

或者要嚐鮮可以sudo apt-get dist-upgrade,做系統的升級

瑞龍

2014/03/29

Ubuntu下透明壓縮的檔案系統- btrfs


磁碟空間是個令人又愛又恨的東西,在一般伺服器的服務,我們其實需要用的空間並不多,所以兩顆HDmirror後(空間打5折),硬碟空間都還有剩餘,要是做NFS拿來做檔案伺服器或備份使用,又常常覺得不夠用,透過軟體的技術如glusterfs可以把多台的空間拼起來,那也要有多台可以併,並承受不同的風險,所以我就開始找可以做磁碟壓縮或thin provisioning的方案,跑出來的是ZFS,疑?和上面的主題不一樣,因為維基百科zfsSolaris的檔案系統,後來在OpenSolaris可以用,但是oracle有意讓這個計畫死亡!OpenSolaris的未來如何不知道,不然我很樂意來個配合OpenSolaris的zfs介紹,回到linux,有透過fuse的方式支援zfs,但是就是覺得怪怪的,再往下找別的方案,就是btrfs了。
 
Btrfs,是傳說中下一代linux可以會採用的檔案系統(現在是ext3/ext4),不過也只是傳說,因為btrfs的正式版到現在都還沒發行,一切都還在測試中,所以我也不會拿他來正式的環境使用,但不影响我們試用的功能,我也沒有要測他很多神奇的新功能raid/snapshot...等,我只要測用他資料壓縮的效果,看這個東西設定與用起來會不會很麻煩,也供給您做一個參考。
 

Ok要開始了,開始前又被潑一個冷水,ubuntu 12.04用的brtfs是舊的3.2版,現在(2014/3/24)最新的是3.12.8,不過ubuntu要能用到更新的功能,應該就要等4月份的ubuntu 14.04 lts了吧,看在我們只是要試用一個簡單的功能,就先不管這一段吧。

2014/03/15

ubuntu desktop 14.04 beta  安裝

這個安裝是使用virtualbox做測試安裝,看看有沒什麼不一樣

使用virtualbox掛載cd booting中

選擇要做安裝,install ubuntu

安裝程式檢查硬碟空間是否足夠,並供使用者選用是否要在安裝過程中安裝third-party (mp3解碼等功能)

在安裝過程中把整顆硬碟拿來做使用

選時區

選擇使用的鍵盤種類,一般就是預設的英文鍵盤

輸入第一個使用者

要建立ubuntu one的帳號?因為virtualbox測試,沒接上網所以log in later
如果不想用ubuntu,也這樣跳過吧

安裝的動作進行中,這個地方會等比較久

安裝完成,放煙火...
要重開機才能開始使用新系統

提示要裝安裝媒體移除

登入畫面

系統主畫面,不過解析有些問題,只有640*480,所以畫面看起來有點擠有點醜











2014/02/15

半新不舊電腦換新作業系統 - Xubuntu

本來是用Ubuntu desktop做桌上電腦的作業系統,但是對新的unity界面還是有些感冒,努力嘗試了一下想要溶入unity的新界面,但有些習慣還是沒辦法配合,想 來應該有更好的選擇,試用了kde,xfde,lxde,覺得xfce比較適合我半新不舊電腦,它比起unity來算不佔資源,調整界面後可以和之前在 windows的習慣用法差不多,下面是一些安裝後做系統調校的說明,供您參考。
原本安裝的是Ubuntu desktop可以直接安裝xfce (sudo apt-get install xubuntu-desktop 或sudo apt-get install xfce4),不過個人覺得這樣不是很乾淨,所以改用xubuntu重裝,到xubuntu的官網下載12.04lts的iso來用(也有其它不是lts 的更新版本),參考連結如下:
 Release Lists
 xubuntu-12.04.3-desktop-amd64.iso
在使用xubuntu之前,也可以使用virtualbox (電腦一機抵多機 -- virtualbox)做測試,看看效果是不是自己所需要的,才不用備份資料,重裝系統,回復資料等*N次循環。

安裝的過程很簡單,選選語系、磁碟分區、時區...,設定帳密,等等..,重開機,就可以完成,這個部份大多沒什麼問題,就簡單跳過。

more...

 

2014/01/17

網路IP位址派發伺服器 - isc-dhcp-server


一般的網路對外設備如IP分享器,大都會提供 DHCP(Dynamic Host Configuration Protocol) 服務,簡化用戶端設定IP的動作,只要用戶端設定使用DHCP來取得IP,那在這個環境中連上網路所需的IP資訊都會自動的指定到設備中,如此一來也方便 在不同的網路中移動,在家裡、在公司、在親朋好友家的IP配置方法可能都不一樣,但是通通用DHCP搞定上網問題。

▲ 圖一、網路設備提供DHCP示意圖

話說回來對外網路設備大多會提供DHCP了,那還要這篇文章做什麼,當然不是來騙吃騙吃的!在自架不對外的網路環境,或者網路中又切分出來的子網路,或者 是其它特別的網路環境需求,有可能會沒有DHCP這樣方便的服務存在,又或者設備提供的DCHP設定太陽春,沒有想要的功能 -- 比如說以MAC綁定使用者會拿到一個固定的保留IP,以便防火牆/PROXY以 IP進行權限設定;或者,換個角度想,靠山山倒靠人人老,靠自己最好,自架DHCP服務也可以幫助了解網路設定的觀念嘛。

測試DHCP時要小心,沒有把網段切開,那附近的電腦都"可能"會拿到您提供的測試IP,導致連網的問題,或者已有DHCP伺服器,那新做的測試DHCP測試器就不要有重覆的IP range,以免產生IP衝突的問題。

more...