nginx在工作中已經有好幾個環境在使用了,每次都是重新去網上扒部落格,各種編譯配置,今天自己也整理乙份安裝文件和nginx.conf配置選項的說明,留作以後參考。像負載均衡配置(包括健康檢查)、快取(包括清空快取)配置例項,請參考 ,ssl加密請參考 。
1. 安裝nginx
1.1 選擇穩定版本
我們編譯安裝nginx來定製自己的模組,機器centos 6.2 x86_64。首先安裝缺少的依賴包:
1或 pkill nginx
或 kill -hupcat /usr/local/nginx-1.6/logs/nginx.pid
1.4 yum安裝
—— 2015-05-22更新
yum安裝rpm包會比編譯安裝簡單很多,缺省會安裝許多模組,但缺點是如果你想以後安裝第三方模組那就沒辦法了。
1 2
3 4 5 6
[nginx]
name=nginx repo
baseurl=
leas
ever
/ basearch/
gpgcheck=0
enabled=1
剩下的就yum install nginx搞定,也可以yum install nginx-1.6.3安裝指定版本(前提是你去packages裡看到有對應的版本,預設是最新版穩定版)。
2. nginx.conf配置檔案
nginx配置檔案主要分成四部分:main(全域性設定)、server(主機設定)、upstream(上游伺服器設定,主要為反向**、負載均衡相關配置)和 location(url匹配特定位置後的設定),每部分包含若干個指令。main部分設定的指令將影響其它所有部分的設定;server部分的指令主要用於指定虛擬主機網域名稱、ip和埠;upstream的指令用於設定一系列的後端伺服器,設定反向**及後端伺服器的負載均衡;location部分用於匹配網頁位置(比如,根目錄「/」,「/images」,等等)。他們之間的關係式:server繼承main,location繼承server;upstream既不會繼承指令也不會被繼承。它有自己的特殊指令,不需要在其他地方的應用。
當前nginx支援的幾個指令上下文:
2.1 通用
下面的nginx.conf簡單的實現nginx在前端做反向**伺服器的例子,處理js、png等靜態檔案,jsp等動態請求**到其它伺服器tomcat:
#靜態檔案,nginx自己處理,不去backend請求tomcat
這四個暫且這樣設,如果深究的話,每乙個都涉及到很複雜的內容,也將通過另一篇文章來解讀。
關於location匹配規則的寫法,可以說尤為關鍵且基礎的,參考文章 nginx配置location總結及rewrite規則寫法;
2.3 其它
2.3.1 訪問控制 allow/deny
nginx 的訪問控制模組預設就會安裝,而且寫法也非常簡單,可以分別有多個allow,deny,允許或禁止某個ip或ip段訪問,依次滿足任何乙個規則就停止往下匹配。如:
1 2
3 4
5 6
7 8
9 10
location /nginx-status
我們也常用 httpd-devel 工具的 htpasswd 來為訪問的路徑設定登入密碼:
1 2
3 4
5 6
7new passwd:
re-type new password:
adding password for user admin
這樣就生成了預設使用crypt加密的密碼檔案。開啟上面nginx-status的兩行注釋,重啟nginx生效。
2.3.2 列出目錄 autoindex
nginx預設是不允許列出整個目錄的。如需此功能,開啟nginx.conf檔案,在location,server 或 http段中加入autoindex on;,另外兩個引數最好也加上去:
autoindex_exact_size off; 預設為on,顯示出檔案的確切大小,單位是bytes。改為off後,顯示出檔案的大概大小,單位是kb或者mb或者gb
autoindex_localtime on;
預設為off,顯示的檔案時間為gmt時間。改為on後,顯示的檔案時間為檔案的伺服器時間
1 2
3 4
5 6
location /images
參考
nginx安裝及配置檔案伺服器
直接yum安裝即可 yum install nginx y配置檔案位於 etc nginx nginx.conf,裡面可以修改處理器數量 日誌路徑 pid檔案路徑等,預設的日誌 錯誤日誌 var log nginx error.log 訪問日誌 var log nginx access.log 下面...
web伺服器 nginx配置檔案
啟動子程序程式的預設使用者 user nobody 乙個主程序和多個工作程序。工作程序是單程序的,且不需要特殊授權即可執行 這裡定義的是工作程序數量 worker processes 1 全域性錯誤日誌的位置及日誌格式 error log logs error.log error log logs ...
Nginx伺服器安裝及配置解釋
nginx是高效能的輕量級web伺服器。特性 1.http 2.反向 3.負載均衡 4.快取機制 一,安裝及啟動 centos7,nginx 1.14.0 2.安裝 第三方庫 yum y install make zlib zlib devel gcc c libtool openssl opens...