nginx 簡易安裝與啟用

在 Web Service 方面,Apache 一直是選多人的第一首選,但是在於建置在上的系統越來越大,使用人數越來越多時,單一 Apache 好像很難通吃滿足各種需求,因此才會配合其它套件做不同的整合來達到不同修件需求。

nginx,跟 Apache 一樣是一個 HTTP 服務套件,但是在它對於靜態網頁檔案的處理有著優異的表現,這讓小弟對它的性能表現有寡目相看的感覺,以下是我選用 nginx 的理由:

  1. 對於靜態網頁檔案能更有效率的處理。
  2. 更好的行程處理,在高流量的網路請求也不會照成系統嚴重的負擔,小弟有台 Server 在做 download site 時,一次 1000 個連線(每個檔案 500MB以上)時,在 Apache 環境下五分鐘負載會爆到 20 以上,當換成 nginx 時卻只有 2 ~ 4,這是相差甚大的一個結果。
  3. 已經支援 Virtual Host 功能,早期版本似乎不支援 Virtual Host 功能,但現在已到了 1.1.0 版,你想要的都有了!

所以光是對於系統影響的因素就足過讓我選擇 nginx 的了,下面就來看看如何安裝並啟用。

您有可能需要先安裝 pcre 相關套件

root # yum install 'pcre*' -y

下載 nginx 並 compile

root # wget http://www.nginx.org/download/nginx-1.1.0.tar.gz
root # tar -zxvf nginx-1.1.0.tar.gz
root # cd nginx-1.1.0
root # ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
root # make; make install

以上若沒有出現錯誤時,nginx 會被安裝在 /usr/local/nginx 目錄裡。

建立一個 virtual host

在 nginx 裡,一個 virtual host 是有一個 server () 所包括起來,裡頭就是包含所有該 vhost 的相關資訊。

編輯 /usr/local/nginx/conf/nginx_config

user  daemon;
worker_processes  2;

events {
	worker_connections  1024; # 實際連線數量為 worker_processes * worker_connections = 2 * 1024 = 2048
}

http { # http { } 如同 apache 的 <VirtualHost></VirtualHost>
	include mime.types;
	default_type application/octet-stream;

	log_format main '$remote_addr - $remote_user [$time_local] "$request" '
			'$status $body_bytes_sent "$http_referer" '
			'"$http_user_agent" "$http_x_forwarded_for"';
	sendfile        on;
	keepalive_timeout  65;

	server {
	server_name example.l-penguin.idv.tw; # vhost 的名稱,與 apache 的 ServerName 相同
	listen 11.22.33.88:80; # 要 bind 的 IP

# 若需要開啟 log 那麼就可以把下面的註解拿掉
#	access_log  logs/example.l-penguin.idv.tw.access.log main;
	index index.html index.htm;
	location  /files  {
		autoindex  on; # 列出檔案列表
	}

	location /nginx_status {
		stub_status on;
		access_log  off;
		allow all;
	}

	root /data/web/example.l-penguin.idv.tw; # 文件主目錄,同 apache 的 DocumentRoot 一樣
	}
}

啟用 nginx

root # /usr/local/nginx/sbin/nginx

若啟用成功,可以使用 browser 來瀏覽了。

 

 

 

 

Comments are closed.

十月 2019
« 五月    
 123456
78910111213
14151617181920
21222324252627
28293031  

Google ADs