Nginx

Nginx簡介

    Nginx(”engine x”)是俄羅斯人Igor Sysoev(伊戈爾.塞索耶夫)編寫的一款高性能的HTTP和反向代理服務器。Nginx能夠選擇高效的epollKqueue、eventport作為網絡I/O模型,在高連接并發的情況下,NginxApache服務器不錯的替代品,它能夠支持高達5萬個并發連接數的響應,而內存、CPU等系統資源消耗卻非常低,運行非常穩定。

    Nginx已經在俄羅斯最大的門戶網站Rambler Media 上運行了多年時間,同時俄羅斯超過20%的虛擬主機平臺采用Nginx作為反向代理服務器。

    在國內也有多家互聯網平臺,如新浪博客、網易新聞、豆瓣等用作web服務器或反向代理服務器。

Nginx的安裝

可從官方網站(www.nginx.org)下載源碼編譯或下載預編譯好的rpm包。

Nginx的基本配置

Nginx的配置文件默認在/etc/nginx下,主配置文件為nginx.conf,其配置文件格式如下圖:

Nginx

Nginx

Nginx

    從上圖中可以看配置的結構由主配置段、event{}段、http{}段構成,而在http{}段中又由多個server{}段,在server{}段中又包含多個location{}段。因此不難看出一個server{}表示一臺虛擬主機。而location的作用是實現從URI到文件系統的路徑映射,而使用多個時,Nginx會根據用戶請求的URI來檢查定義的所有location,從而找出一個最佳匹配,而后應用其配置;那如何查找呢?其實在定義時可使用以下特殊符號來完成優先級的定義;

    =:對URI做精確匹配;

    ~:對URI做正則表達式模式匹配,區分字符大小寫

    ~*:對URI做正則表達式模式匹配,不區分字符大小寫

    ^~:對URI的左半部分做匹配檢查,不區分字符大小寫

    如果不帶符號則匹配URI的所有URL;

而它們是有優先級的。=的優先級最高,其次是^~,而~~*的優先級是相等的,最后是不帶符號的;

除了上圖中出現過的指令,另外還有其他的一些常用指令,下面來一一列舉:

1、alias:定義路徑別名,文檔映射的另一種機制;僅能用于location上下文中;

2index:定義默認資源

3、try_files:按次序嘗試文件是否存在,第一個存在的用于響應用戶的請求;

4keepalive_requests:一次長連接上所允許請求的資源的最大數量默認為100;

5send_timeout:向客戶端改善大響應報文的超時時長;

6、client_body_buffer_size:用于設置接收客戶端請求報文body部分的緩沖區大??;默認為16k;超出此值時,其將被暫存到磁盤上由clien_body_temp_path指令所定義的位置;

7、client_body_temp_path [level1 [level2 [level3]]]:設定用于存儲客戶端請求報文body部分的臨時存儲路徑及子目錄結構和數量;

8、open_file_cache max=N [inactive=time]:開啟Nginx的文件緩存功能

9、open_file_cache_valid:緩存有效性的檢查頻率,默認為60S

10、open_file_cache_min_uses:在open_file_cache指令的inactive參數指定的時長內,至少應該被命中多少次才可被歸類為活動項;

11、基于IP訪問控制的:allow、deny

12、基于用戶訪問控制的:auth_basic、auth_basic_user_file

上面這些指令經常使用,而還有很多指令在這里沒有列舉出來,用到的時候可到官方網站了解(www.nginx.org)

原創文章,作者:人字拖,如若轉載,請注明出處:http://www.www58058.com/74952

(0)
人字拖人字拖
上一篇 2017-05-07 19:44
下一篇 2017-05-07 21:34

相關推薦

  • 第八周博客作業

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態; 在線的主機使用綠色顯示; 不在線的主使用紅色顯示; #!/bin/bash declare -i i=1 ping_172() { if ping -W 1 -c 1 172.16.250.$1 &> /dev/null; th…

    Linux干貨 2017-05-22
  • 鏈接分析算法之:HillTop算法

       Hilltop算法是由Krishna Baharat 在2000年左右研究的,于2001年申請專利,但是有很多人以為Hilltop算法是由谷歌研究的。只不過是Krishna Baharat 后來加入了Google成為了一名核心工程師,然后授權給Google使用的。     &nbsp…

    大數據運維 2015-04-08
  • Week 1–Linux基礎2

    四. Linux系統命令使用格式:  但首先,在linux中我們要知道linux系統中基本的命令格式如下: 命令字 【命令選項】 【命令參數】   Command 【option】 【arguments】 在這里主要介紹這幾個命令的使用格式(Ifconfig,echo, tty, startx, export, pwd, history, shut…

    Linux干貨 2016-12-05
  • 分布式系統的事務處理

    當我們在生產線上用一臺服務器來提供數據服務的時候,我會遇到如下的兩個問題: 1)一臺服務器的性能不足以提供足夠的能力服務于所有的網絡請求。 2)我們總是害怕我們的這臺服務器停機,造成服務不可用或是數據丟失。 于是我們不得不對我們的服務器進行擴展,加入更多的機器來分擔性能上的問題,以及來解決單點故障問題。 通常,我們會通過兩種手段來擴展我們的數據服務: 1)數…

    Linux干貨 2016-08-15
  • corosync v2+pacemaker實現mariadb的高可用

    高可用mariadb拓撲圖 一、設計前提 1、時間同步 # ntpdate 172.16.0.1 或者 # chronyc sources 2、所有的主機對應的IP地址解析可以正常工作, 主機名要與命令#uname -n 所得的結果一致 因此,/etc/hosts中的內容為以下內容 ????????172.16.23.10?node1.rj.com?node…

    2017-11-02
  • 一次簡單的內核編譯(二)

      前言:     此次編譯是繼一次簡單的內核編譯(一)進行操作編譯的,請先查看第一篇再來看此片文章 一、使用busybox代替自己制作的init腳本,實現內核啟動;  1、在這里我們使用靜態編譯busybox,所以需要先安裝glibc-static依賴包,如果不安裝會報錯     2、解…

    Linux干貨 2015-06-01
欧美性久久久久