close

Nginx 介紹(原稿出自這裡

 

Nginx 為一個網頁伺服器,它能反向代理 HTTP, HTTPS, SMTP, POP3, IMAP 的協議鏈接,以及設置 Load balance 和 HTTP cache。

目前越來越多人將 HTTP 伺服器轉為 Nginx,作為代理伺服器可以接收 internet 上的 Request,避免大量的 Request 直接打到後端的 Web service,並且能將不同的 Request 導向後端的 ip,達到分流以及負載平衡應用。

這裡就廢話少說,直接開始。

 

在 server 上安裝

1、更新 apt-get 套件內容

 sudo apt-get update 

2、安裝 Nginx 套件

 apt-get install nginx  

3、在 server 上設定 nginx 套件

 cd /etc/nginx/nginx.conf   
 vi nginx.conf  

 

4、到這一步就進到了編輯頁面,vi 是 linux 的指令,若不知道 vi 的朋友請參考這裡

在 Nginx 設定檔中,有兩種內容,包含:指令、模組。在指令的部分需要填入對應的參數及空格,最後則用分號 ( ; ) 做結尾,而模組的部分則是以大括號 {} 做區分,在 {} 內部我們可以新增所需的指令與模組,例如:製作 Reserve proxy 或是靜態 Cache 檔案,進而擴充其功能。 Nginx 程式註解的部分,可以使用 # 符號。

基本的 Nginx 設定檔結構如下,包含:http、server、location 三個模組

http {

  # 可以設置 gzip、gzip_buffers、timeout 時間等

    server {

      # 通常會加入這個虛擬主機的 Port 和網域名稱

      access_log /var/log/nginx/nginx.access.log;

      # 可以將這個網頁服務器產生的 log 新增放置位置

      location {}

      # location 指令會因為不同的URL符合不同的規則

    }

}

 

5、基本設定檔範例,如本地端 (localhost) 已有架設好的 Web service (例如:Node.js),想要讓 internet 上的使用者透過 www.example.com 這個 domain name 連線至本地端的服務 127.0.0.1:3000,可以透過下面的設定檔

server {

    listen 80; 

   server_name www.example.com;

    location / {

      proxy_pass 127.0.0.1:3000;

      # 把 www.example.com 指到本地端 3000 port

  }

}

6、重新讀取 Nginx 設定檔

 /etc/init.d/nginx reload 

做到這基本就算是安裝完了,以上設定是直接連接到你的本地端專案,但在實務上,通常是先將專案上傳到第三方,然後再下拉到遠端 server 去做設定,我自己是用 github,用的語言是 Ruby on Rails,部署的設定參考的是 Ruby on Rails 實戰聖經 網站部署篇

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Ray Tsai 的頭像
    Ray Tsai

    Ray 的部落格

    Ray Tsai 發表在 痞客邦 留言(0) 人氣()