一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - Nginx配置入門教程

Nginx配置入門教程

2019-10-26 17:13Nginx配置網 Nginx

這篇文章主要介紹了Nginx配置入門教程,本文講解了反向代理的概念、初始配置、進階配置、負載均衡配置等內容,需要的朋友可以參考下

基本概念

Nginx 最常的用途是提供反向代理服務,那么什么反向代理呢?正向代理相信很多大陸同胞都在這片神奇的土地上用過了,原理大致如下圖:

Nginx配置入門教程

代理服務器作為客戶端這邊的中介接受請求,隱藏掉真實的客戶,向服務器獲取資源。如果代理服務器在長城外的話還能順便幫助我們實現翻越長城的目的。而反向代理顧名思義就是反過來代理服務器作為服務器的中介,隱藏掉真實提供服務的服務器,原理大致如下圖:

Nginx配置入門教程

這么做當然不是為了實現翻越長城,而是為了實現安全和負載均衡等一系列的功能。所謂安全指客戶端的請求不會直接落到內網的服務器上而是通過代理做了一層轉發,在這一層就可以實現安全過濾,流控,防 DDOS 等一系列策略。而負載均衡指我們可以水平擴展后端真正提供服務的服務器數量,代理按規則轉發請求到各個服務器,使得各個服務器的負載接近均衡。

而 nginx 就是目前流行的這樣一個反向代理服務。

在 Ubuntu 下,可以舍去編譯安裝的過程,直接 apt-get

復制代碼代碼如下:

sudo apt-get install nginx


安裝好之后可以直接通過:

復制代碼代碼如下:

sudo service nginx start


來啟動 nginx 服務,nginx 默認設置了 80 端口的轉發,我們可以再瀏覽器訪問 http://locallhost 來進行檢查。

 

初始配置

nginx 的默認配置文件位于

復制代碼代碼如下:

/etc/nginx/nginx.conf


學習配置最好的方式,就是從例子入手,我們先不看其他的配置,直接看和 nginx 默認頁面相關的配置。在配置文件中有一行:

復制代碼代碼如下:

include /etc/nginx/sites-enabled/*;


這一行加載了一個外部的配置文件,sites-enabled 文件夾下只有一個 default 文件,這個外部的配置文件就是負責我們 nginx 的默認代理。將配置的內容縮水后,得到下面幾行:

 

 

復制代碼代碼如下:


server {
    server_name localhost;
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

 

    root /usr/share/nginx/html;
    index index.html index.htm;

    location / {
    try_files $uri $uri/ =404;
    }
}

 

一個大型的網站通常會有很多下屬的站點,有各自的服務器提供相應的服務,在 nginx 中我們可以通過一個叫虛擬主機的概念來將這些不同的服務配置隔離,這就是上面配置中的 server 的含義。舉例來說 google 旗下有翻譯和學術兩款產品我們就可以在 nginx 的配置文件中配置兩個 server,servername 分別為 translate.google.com 和 scholar.google.com,這樣的話不同的url請求就會對應到nginx相應的設置,轉發到不同的后端服務器上。這里的 servername 是和客戶端 http 請求中的 host 行進行匹配的。

本例中 server_name 為 localhost,這就是為什么我們可以在瀏覽器通過 localhost 訪問到頁面的配置。下面兩個 listen 分別對應了 ipv4 和 ipv6 下的監聽端口如果設為 8080,那么我們就只能通過 localhost:8080 來訪問到默認頁面了。

default_server 的含義是指如果有其他 http 請求的 host 在 nginx 中不存在設置的話那么就用這個 server 的配置來處理。比如我們去訪問 127.0.0.1 那么也會落到這個 server 來處理。

每個 url 請求都會對應的一個服務,nginx 進行處理轉發或者是本地的一個文件路徑,或者是其他服務器的一個服務路徑。而這個路徑的匹配是通過 location 來進行的。我們可以將 server 當做對應一個域名進行的配置,而 location 是在一個域名下對更精細的路徑進行配置。

在這里 location 匹配 / 開始的所有請求,即 localhost 下的 /xxx 或者 /yyy 都要走下面的配置,除了這種簡單粗暴的匹配,nginx 也支持正則和完全相等及其他的精細匹配方式。而tryfiles意思是 nginx會按照接下來的順序去訪問文件,將第一個匹配的返回。比如你去請求 localhost/test,他會去尋找 /test 文件,找不到再去找 /test/ 再找不到就返回一個 404。此外我們還可以在 location的配置里用 proxypass 實現反向代理和負載均衡,不過這個最簡單的配置并沒有涉及

其中 root 是指將本地的一個文件夾作為所有 url 請求的根路徑。比如用戶請求了一個 localhost/test,那么 nginx 就會去需找 /usr/share/nginx/html 文件夾下的 test 文件返回。

而 index 就是默認的訪問頁面了,當我們訪問 localhost 時,他會自動按順序尋找 root 文件路徑下的 index.html 和 index.htm 將第一個找到的結果返回。

location 進階配置
上面的配置只是將用戶的 url 映射到本地的文件,并沒有實現傳說中的反向代理和負載均衡(當然 nginx 做靜態文件的分發也是想到的厲害),下面我們就來進一步配置 location 看看怎么實現。

配置起來很簡單比如我要將所有的請求到轉移到真正提供服務的一臺機器的 8080 端口,只要這樣:

復制代碼代碼如下:

location / {
    proxy_pass 123.34.56.67:8080;
}


這樣所有的請求就都被反向代理到 123.34.56.67 去了。這樣我們反向代理的功能是實現了,可是就能代理到一臺服務器上哪有什么負載均衡呀?這就要用到 nginx 的 upstream 模塊了。

復制代碼代碼如下:

upstream backend {
    ip_hash;    
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
    server backend4.example.com;
}
location / {
    proxy_pass http://backend;
}


我們在 upstream 中指定了一組機器,并將這個組命名為 backend,這樣在 proxypass 中只要將請求轉移到 backend 這個 upstream 中我們就實現了在四臺機器的反向代理加負載均衡。其中的 iphash指明了我們均衡的方式是按照用戶的 ip 地址進行分配。

 

要讓配置生效,我們不必重啟 nginx 只需要 reload 配置即可。

復制代碼代碼如下:

sudo service nginx reload

 

總結

以上是最簡單的通過 nginx 實現靜態文件轉發、反向代理和負載均衡的配置。在 nginx 中所有的功能都是通過模塊來實現的,比如當我們配置 upstream 時是對 upstream 模塊,而 server 和 location 是在 http core 模塊,其他的還有流控的 limt 模塊,郵件的 mail 模塊,https 的 ssl 模塊。他們的配置都是類似的可以再 nginx 的模塊文檔中找到詳細的配置說明。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爱情岛论坛亚洲一号路线 | 亚洲 欧美 中文 日韩欧美 | 国产成人久久精品一区二区三区 | 精品成人一区二区 | 2018av在线 | 国产一区精品视频 | 韩国办公室激情 | 久草在在线免视频在线观看 | 91香蕉影院| 毛片a级放荡的护士hd | 波多野结衣女教师在线观看 | 消息称老熟妇乱视频一区二区 | 色多多在线视频 | 青青草成人影院 | 色天天久久 | 日本一区二区三区久久精品 | 亚洲精品色综合久久 | 逼里逼里香| 国产成人久久久精品一区二区三区 | 亚洲国产精品久久精品怡红院 | m3u8久久国产精品影院 | 亚洲国产美女精品久久久久 | 国产久草在线 | 特黄特色大片免费视频播放 | 国产精品毛片高清在线完整版 | 色男人网| 精品一区久久 | 天作谜案免费完整版在线观看 | 欧美成人第一页 | 久久久精品成人免费看 | 欧洲肥女大肥臀tv | freehd182d动漫 | 午夜福利体验免费体验区 | 美女精品永久福利在线 | 图片亚洲va欧美va国产综合 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 免费一级国产生活片 | 精品国产乱码久久久久久人妻 | 国产女乱淫真高清免费视频 | 超碰成人在线播放 | 俺去俺去啦最新官网在线 |