1. 程式人生 > >Nginx配置詳解一

Nginx配置詳解一

之前的nginx配置是對nginx配置檔案的具體含義進行講解,不過對於nginx的新手可能一頭霧水。

今天看到個文件不錯,翻譯過來分享給大家,可以讓新手更詳細地瞭解nginx配置,可以說是nginx配置入門必備。

Nginx是一個輕量級高效能的web伺服器,它是為快速響應大量靜態檔案請求和高效利用系統資源而設計的。與apache使用面向程序或執行緒的方式處理請求不同,nginx使用非同步事件驅動模型在負載下效能更突出。

雖然nginx能高效地服務靜態檔案,但也有人認為nginx處理動態內容並不理想。不像apache伺服器,nginx沒用使用內嵌直譯器的方式來處理動態內容。相反,動態內容被丟給cgi,fastcgi或者像apache這樣的web伺服器,然後把處理結果返回給nginx,nginx在返給瀏覽器。這種方式就導致部署起來會更復雜一些。出於這些原因,使用和配置nginx可能會晦澀。nginx的配置感覺更復雜或者不直接。

本文的前提是你使用nginx安裝來安裝nginx,如果你使用其它方法或者系統自帶包安裝,那麼你的配置檔案的位置和下面講的配置檔案位置可能不同。

nginx的強大都是靠配置檔案來實現,nginx就是一個二進位制檔案nginx讀入一個配置檔案nginx.conf(nginx.conf可能include包含若干子配置檔案)來實現各種各樣的功能。

 管理配置檔案

nginx使用巢狀的花括號語法來定義選項。安裝完成後nginx的主配置檔案被放在/usr/local/nginx/nginx.conf。同時一個預設的備份配置檔案存在/usr/local/nginx/nginx.conf.default。其它子配置檔案同樣有一個.default結尾的備份配置檔案。.default的作用是當你修改配置檔案錯誤的時候,你可以快速回到上一個好用的狀態。建議大家經常對配置好的功能的配置檔案做備份,可以以日期檔案做結尾。比如你可以使用如下指令完成,修改日期為你所備份的日期。

1cp/usr/local/nginx/nginx.conf/usr/local/nginx/nginx.conf-20121224

每次修改完nginx.conf都要重新載入配置檔案

1 /usr/loca/nginx/nginx-t
1kill-HUP`cat/usr/local/nginx/nginx.pid`

全域性配置

我們分片段一點點的介紹預設的配置檔案

1 2 3 4 5 6 7 8 9 10 11 12 #user  nobody;
worker_processes1; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events{ worker_connections1024; }

這些是配置檔案開始的預設行。通常的環境下,你不需要修改這些選項。這一部分有幾個方面需要我們注意:

  • 所有以#號開的行是註釋,nginx不會解析。預設的配置檔案有許多說明解釋的註釋塊
  • 指令是以一個變數名開頭(例如,worker_processes或pid),然後包含一個引數(例如,1或 logs/nginx.pid)或者多個引數(例如,"logs/error.log notice")
  • 所有指令以分號結尾
  • 某些指令,像上面的events可以包含多個子指令作為引數。這些子指令以花括號包圍。
  • 雖然nginx不解析空白符(例如tab,空格,和換行符),但是良好的縮排能提高你維護長期執行配置檔案的效率。良好的縮排使配置檔案讀起來更流暢,能讓你很容易明白配置的策略,即使幾個月前。

下面我們繼續讀配置檔案

1234567891011121314151617http{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"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout65;#gzip  on;

"http { }"塊的開頭像配置檔案的開頭一樣都是標準配置不需要修改。這裡我們需要把注意力放在這些元素上:

  • 這部分內容的開始"include"語句包含/usr/loca/nginx/mime.types檔案到nginx.conf檔案include語句所在位置。include對ningx.conf檔案的可讀性和組織性很有用。
  • 不能過多使用include,如果太多遞迴地include檔案會產生混亂,所以需要合理有限制地使用include來保證配置檔案的清晰和可管理。
  • 你可以去掉log_format指令前的註釋並修改這幾行設定的變數為你想記錄的資訊。
  • gzip指令告訴nginx使用gzip壓縮的方式來降低頻寬使用和加快傳輸速度。如果想使用gzip壓縮,需要新增如下配置到配置檔案的gzip位置。
1 2 3 4 5 6 7 gzip on; gzip_http_version1.1; gzip_comp_level2; gzip_types    text/plain text/

相關推薦

Nginx配置

之前的nginx配置是對nginx配置檔案的具體含義進行講解,不過對於nginx的新手可能一頭霧水。 今天看到個文件不錯,翻譯過來分享給大家,可以讓新手更詳細地瞭解nginx配置,可以說是nginx配置入門必備。 Nginx是一個輕量級高效能的web伺服器

三十Nginx配置

序言 Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年釋出至今,憑藉開源的力量,已經接近成熟與完善。 Nginx功能豐富,可作為HTTP伺服器,也可作為反向代理伺服器,郵件伺服器。支援FastCGI、SSL、Virtual Hos

Nginx配置

序言 Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年釋出至今,憑藉開源的力量,已經接近成熟與完善。 Nginx功能豐富,可作為HTTP伺服器,也可作為反向代理伺服器,郵件伺服器。支援FastCGI、SSL、Vir

Nginx配置

set 文件結構 時也 解決方案 ces 反向代理服務器 use 力量 第三方模塊 最近在搞nginx和tomcat 以及apache的集群。下面是參考的一片很不錯的關於nginx配置的詳細講解: http://www.cnblogs.com/knowledgesea/p/

[轉]Nginx配置

fast forward type 時間 去除 負載 所有 hash dex Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年發布至今,憑借開源的力量,已經接近成熟與完善。 Nginx功能豐富,可作為HTTP服務器,也可

Centos 6 apache httpd 2.2 主要配置( )

apache 2.2 httpd2.2 centos 6 實驗環境:VMware Workstation Pro 14(試用版) 系統平臺: CentOS release 6.9 (Final) 內核 2.6.32-696.el6.x86_64 Server versio

最實用的Nginx配置

好記憶不如爛筆頭,能記下點東西,就記下點,有時間拿出來看看,也會發覺不一樣的感受。 Nginx是一個非常實用的高效能的HTTP和反向代理伺服器,今天小編針對Nginx的配置檔案(nginx.conf)進行詳細的介紹,方便各位感興趣的朋友更便捷,更愉快的使用Nginx,配置如下:(文章末尾有示例

安卓開發——AndroidManifest.xml配置

AndroidManifest.xml配置檔案稱為清單檔案,對於Android應用開發來說是非常重要的基礎知識,在學習中總結該配置檔案中重點的用法,以便日後查閱。下面是一個標準的AndroidManifest.xml檔案樣例。 xml version="1.0" encod

nginx配置-url重寫、反向代理、負載均衡

server{listen 80;server_name   www8.example.org;root /var/www/web2;#根據不同的瀏覽器URL重寫if($http_user_agent ~ Firefox){rewrite ^(.*)$  /firefox/$1 break; }if($htt

nginx配置之http模組

HTTP模組控制著nginx http處理的所有核心特性 以下為常用配置: http{ include mime.types; default_type application/octet-stream; client_header_buffer_

VMware 的網路配置()

關於 VMware 的網路配置一直以來一知半解的,今天遇到了點問題,所以仔細研究了下: 使用環境: fedora15 ①沒有為系統配置網絡卡的時候,系統正常啟動時:        這兩個網橋來自 :/etc/rc.d/rc.local 檔案 [[email p

nginx配置之location模組

       在前幾篇博文中我提到過的 nginx除了是一款的web伺服器外  nginx還是一個小型的反向代理伺服器  我們可以使用nginx將一些靜態檔案 例如css js images 儲存在客戶端本地  下次請求的時候直接從本地讀取 加快頁面響應速度 又比如 我們可

nginx配置之main模組

nginx常用全域性配置如下: user nginx; worker_processes = 1; error_log /var/log/nginx/error.log; worker_rlimit_nofile 20000; pid /var/run/ng

Nginx配置(轉)

第三方模塊 緩存 init 問題 squid 壓縮文件 writing 單獨 lena 轉自: Nginx簡介及配置文件詳解 一 Nginx簡介 Nginx是一款開源代碼的高性能HTTP服務器和反向代理服務器,同時支持IMAP/POP3/SMTP代理服務

Nginx配置文件(nginx.conf)配置

最好 緩沖區 網絡io dev mp3 forward val eight 超時 Nginx的配置文件nginx.conf配置詳解如下: user nginx nginx ; Nginx用戶及組:用戶 組。window下不指定 worker_process

09-nginx常用配置

accept 用戶與用戶組 oot 進程資源 常用 brush pan nts 還要 Nginx配置分為各個配置塊,主配置塊負責全局配置,子配置塊可以繼承全局配置,也可以相應的配置不同設置。 main block:主配置(全局配置) event{

Nginx配置文件nginx.conf

權重 文件路徑 是的 err 用戶 resin cte 連接數 man Nginx 總的 配置文件 位置 /usr/local/nginx/conf/nginx.confnginx 正則匹配 一.正則表達式匹配,其中: * ~ 為區分大小寫匹配 * ~* 為不區分大小寫匹

nginx反向代理配置

nginx反向代理配置詳解反向代理配置修改部署目錄下conf子目錄的nginx.conf文件(如/opt/nginx/conf/nginx.conf)內容,可調整相關配置。將默認配置裏面帶#號註釋內容去掉grep -v "#" /opt/nginx/conf/nginx.conf > /opt/ngin

tomcat中server.xml配置(轉載)(

重要 lis 結構 更多 tle 處理請求 服務器端 sta 設置 轉載自:https://www.cnblogs.com/starhu/p/5599773.html tomcat中server.xml配置詳解 Tomcat Server的結構圖如下:(該文件描述了如何

Linux中Nginx安裝與配置

cpan .net 語言 roo disable 方便 sbin wget 一個 安裝所需環境 Nginx 是 C語言 開發,建議在 Linux 上運行,當然,也可以安裝 Windows 版本,本篇則使用 CentOS 7 作為安裝環境。 上網配置: 如果安裝了cen