iT邦幫忙

DAY 21
5

Linux Pi的奇幻旅程系列 第 18

Linux Pi的奇幻旅程(21)-Nginx

我從Nginx最早的版本開始用, 也都是自行編譯的. Nginx一直是開放原始碼的網站伺服器(http://nginx.org/), 今年走向商業化了, 這是好事, 也是開放原始碼的一種好的商業模式.

上一篇: Linux Pi的奇幻旅程(20)-MySQL管理
http://ithelp.ithome.com.tw/question/10136877

下一篇: Linux Pi的奇幻旅程(22)-編譯Nginx
http://ithelp.ithome.com.tw/question/10137466
依據Netcraft的統計, <thttp://news.netcraft.com/archives/2013/08/09/august-2013-web-server-survey.html>, Nginx在今年八月時的市占率是14.55%, 次於Microsoft的IIS和Apache組織的Apache, 如下圖:

Nginx是一個沒有大型組織支援的網站伺服器, 今年八月也商業化了(http://nginx.com/products/), 對於Niginx的長期支援提供了更大的保障. 商業化的版本提供了一些對大型網站的支援, 如下圖.

在Raspberry Pi中跑Nginx是很有意義的, 因為Nginx是一個高效能的伺服器, Raspbian也有提供apt的版本:

$ sudo apt-get install nginx

很快的, Nginx就安裝好了, 接著啟動Nginx.
$ sudo /etc/init.d/nginx start

就這樣? 不, 除了設定還沒有做之外, 還有很重要的資安考量, 先來看看Raspbian提供的Nginx版本:
pi@raspberrypi ~/workbench/nginx-1.5.6 $ nginx -v
nginx version: nginx/1.2.1

這是去年的版本了. 有許多弱點的. 我提供給客戶的Nginx從來不是用Apt-get來安裝的, 都是自行編譯的版本. 那麼, 我將介紹如何從下載原始碼到編譯Nginx的整個過程, 就在Raspberry Pi這台小機器上.

Debian系統, 也就是Raspbian所依據的系統, 有一個支援原始碼編譯的套件: build-essential, 已經是內定安裝的, 這是因為Raspberry Pi原本就被設定為系統開發的小電腦. 一般的Linux發行版是沒有包含套件build-essential, 然而, 要安裝build-essential也是相當容易的:
$ sudo apt-get install build-essential

準備好編譯原始碼的環境之後, 就可以開始編譯Nginx了. 首先要下載Nginx原始碼. 官網http://nginx.org/的首頁就列出了一些最近的版本:

我要採用的是nginx-1.5.6版, 下載的方式是我先將游標移到nginx-1.5.6連結處後按右鍵來複製下載連結, 然後, 依我的習慣是到作業區下載, 也就是下圖的目錄workbench:

解壓縮後, 進入解出的子目錄中:
pi@raspberrypi ~/workbench $ tar xfzv nginx-1.5.6.tar.gz
pi@raspberrypi ~/workbench $ cd nginx-1.5.6/
pi@raspberrypi ~/workbench/nginx-1.5.6 $

這樣就準備好了Nginx的原始碼了.


上一篇
Linux Pi的奇幻旅程(20)-MySQL管理
下一篇
Linux Pi的奇幻旅程(22)-編譯Nginx
系列文
Linux Pi的奇幻旅程27

1 則留言

我要留言

立即登入留言