一、nginx版本
開源版本主要有:
mainline--含最新特性和及時的bug修復,以及一些試驗性的組件和一些新bug;
stable--不含最新特性,但含有重要的bug修復并跟隨移植到相關的mainline版本,推薦生產環境使用,
二、安裝方式:
(1)使用預編譯的二進制包:此種方式最快捷;
(2)通過原始碼編譯成二進制包:最復雜,但能個性化;
通過預編譯的二進制包(以CentOS為例):
支持的系統版本有:
| Version | Supported Platforms |
|---|---|
| 6.x | x86_64, i386 |
| 7.4+ | x86_64, ppc64le |
| 8.x | x86_64 |
獲取預編譯二進制包方式:
默認通過repository庫,這是最快的方式,但提供的包一般是舊版本:
sudo yum install epel-release #安裝epel包 yum update #更新repository yum install nginx #安裝nginx sudo nginx -v #驗證安裝 nginx version: nginx/1.6.3
如果從官方nginx.org獲取,則首先用yum設定官方庫,這樣能獲取最新的安裝包,
vi /etc/yum.repos.d/nginx.repo #編輯庫來源檔案 #添加以下nginx.repo [nginx] name=nginx repo baseurl=https://nginx.org/packages/mainline/<OS>/<OSRELEASE>/$basearch/ gpgcheck=0 enabled=1 #mainline元素表示從mainline獲取最新版本,需要stable版本則洗掉此元素, #<OS>:填寫rhel或者centos #<OSRELEASE>: 作業系統版本號(6, 6._x_, 7, 7._x_ and so on) #退出vi, 保存, yum update #更新repo yum install nginx #安裝nginx $ curl -I 127.0.0.1 #驗證安裝 HTTP/1.1 200 OK Server: nginx/1.13.8
從原始碼編譯和安裝:
在編譯nginx原始碼之前,需要先安裝獨立的運行庫:
RCRE:用于支持正則運算式,nignx Core和Rewrite組件需要它,
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.44.tar.gz $ tar -zxf pcre-8.44.tar.gz $ cd pcre-8.44 $ ./configure $ make $ sudo make install
zlib:支持頭部資訊壓縮,nginx Gzip組件需要它,
$ wget http://zlib.net/zlib-1.2.11.tar.gz $ tar -zxf zlib-1.2.11.tar.gz $ cd zlib-1.2.11 $ ./configure $ make $ sudo make install
OpenSSL:支持https協議,nginx SSL和其它組件需要它,
$ wget http://www.openssl.org/source/openssl-1.1.1d.tar.gz $ tar -zxf openssl-1.1.1d.tar.gz $ cd openssl-1.1.1d $ ./Configure darwin64-x86_64-cc --prefix=/usr $ make $ sudo make install
下載原始碼:
#下載主線版本: $ wget https://nginx.org/download/nginx-1.17.9.tar.gz $ tar zxf nginx-1.17.9.tar.gz $ cd nginx-1.17.9 #下載穩定版本: $ wget https://nginx.org/download/nginx-1.16.1.tar.gz $ tar zxf nginx-1.16.1.tar.gz $ cd nginx-1.16.1
配置編譯選項:
$ ./configure
具體的編譯選項,參考官網:https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/?_ga=2.20119100.529167744.1587292980-45792041.1587182428#configuring-the-build-options
編譯安裝:
$ make $ sudo make install
完成安裝后啟動:
sudo nginx
三、nginx行程
nginx行程包含:一個主行程、一或多個作業行程,如果啟用快取還會出現快取加載行程和快取管理器行程,
主行程作用:讀取和測驗組態檔有效性、維護作業行程;
作業行程作用:對請求進行實際的相應處理,并通過 OS機制分配請求給相應的作業行程,
控制nginx基本操作:
nginx -s <signal>
<signal>為:
quit--優雅地關閉nginx
reload--多載組態檔
reopen--重新打開日志
stop--立即關閉nginx
四、nginx組態檔
組態檔:
默認檔案名為nginx.conf,開源版Nginx的組態檔由安裝時決定其位置,一般在以下位置:
/usr/local/nginx/conf; /usr/local/etc/nginx; /etc/nginx
指令:
組態檔由一定數量的“指令”及其引陣列成;單行指令以分號結尾,而相關指令組合在一起用{}括號圍住,稱為“塊”,
組態檔分類:
為了更方便維護,可以將明確一類功能的配置分開檔案存放,推薦存放在/etc/nginx/conf.d檔案夾內,并在主nginx.conf配置中加入:
include conf.d/http; include conf.d/stream; include conf.d/exchange-enhanced;
語境:
以下是一些頂級的指令,稱之為”context"(語境、背景關系),這些指令將應用于下面描述的各種流量型別:
events--常規連接處理
http--HTTP流量
mail--Mail流量
stream--TCP和UDP流量
虛擬服務器:
以每種流量處理語境中,你可以定義一個或多個 server 指令塊來處理各種請求,
在HTTP流量中(即http語境內),每個server指令塊用于處理通過IP或域名傳輸過來的請求,而location指令塊定義在server指令塊內用于處理特定的URI,
對于TCP/UDP和mail語境(即steam和mail指令),server指令用于處理指定TCP埠或UNIX socket的流量,
繼承:
通常情況下,子指令會繼承包含它的父指令的設定值,當然也可以在子指令中重定義設定來覆寫父指令設定值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/98108.html
標籤:Linux
下一篇:Linux 的一些常用命令
